diff --git a/boot.php b/boot.php
index 5107d91af..62641655e 100644
--- a/boot.php
+++ b/boot.php
@@ -1935,6 +1935,36 @@ function build_querystring($params, $name=null) {
return $ret;
}
+function explode_querystring($query) {
+ $arg_st = strpos($query, '?');
+ if($arg_st !== false) {
+ $base = substr($query, 0, $arg_st);
+ $arg_st += 1;
+ }
+ else {
+ $base = '';
+ $arg_st = 0;
+ }
+
+ $args = explode('&', substr($query, $arg_st));
+ foreach($args as $k=>$arg) {
+ if($arg === '')
+ unset($args[$k]);
+ }
+ $args = array_values($args);
+
+ if(!$base) {
+ $base = $args[0];
+ unset($args[0]);
+ $args = array_values($args);
+ }
+
+ return array(
+ 'base' => $base,
+ 'args' => $args,
+ );
+}
+
/**
* Returns the complete URL of the current page, e.g.: http(s)://something.com/network
*
diff --git a/include/Contact.php b/include/Contact.php
index d39d7a28b..c83177dda 100644
--- a/include/Contact.php
+++ b/include/Contact.php
@@ -222,13 +222,13 @@ function contact_photo_menu($contact) {
$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,
- t("Network Posts") => $posts_link,
- t("Edit Contact") => $contact_url,
- t("Send PM") => $pm_url,
+ 'poke' => array(t("Poke"), $poke_link),
+ 'status' => array(t("View Status"), $status_link),
+ 'profile' => array(t("View Profile"), $profile_link),
+ 'photos' => array(t("View Photos"), $photos_link),
+ 'network' => array(t("Network Posts"), $posts_link),
+ 'edit' => array(t("Edit Contact"), $contact_url),
+ 'pm' => array(t("Send PM"), $pm_url),
);
@@ -236,7 +236,7 @@ function contact_photo_menu($contact) {
call_hooks('contact_photo_menu', $args);
- $o = "";
+/* $o = "";
foreach($menu as $k=>$v){
if ($v!="") {
if(($k !== t("Network Posts")) && ($k !== t("Send PM")) && ($k !== t('Edit Contact')))
@@ -245,7 +245,16 @@ function contact_photo_menu($contact) {
$o .= "
$k \n";
}
}
- return $o;
+ return $o;*/
+ foreach($menu as $k=>$v){
+ if ($v[1]!="") {
+ if(($v[0] !== t("Network Posts")) && ($v[0] !== t("Send PM")) && ($v[0] !== t('Edit Contact')))
+ $menu[$k][2] = 1;
+ else
+ $menu[$k][2] = 0;
+ }
+ }
+ return $menu;
}}
diff --git a/include/acl_selectors.php b/include/acl_selectors.php
index 675339559..1b9843fd1 100644
--- a/include/acl_selectors.php
+++ b/include/acl_selectors.php
@@ -1,4 +1,7 @@
$allow_cid,
+ 'allow_gid' => $allow_gid,
+ 'deny_cid' => $deny_cid,
+ 'deny_gid' => $deny_gid,
+ );
+}
+
+
+function populate_acl($user = null,$celeb = false) {
+
+ $perms = get_acl_permissions($user);
+
// We shouldn't need to prune deadguys from the block list. Either way they can't get the message.
// Also no point enumerating groups and checking them, that will take place on delivery.
@@ -311,10 +325,10 @@ function populate_acl($user = null,$celeb = false) {
'$showall'=> t("Visible to everybody"),
'$show' => t("show"),
'$hide' => t("don't show"),
- '$allowcid' => json_encode($allow_cid),
- '$allowgid' => json_encode($allow_gid),
- '$denycid' => json_encode($deny_cid),
- '$denygid' => json_encode($deny_gid),
+ '$allowcid' => json_encode($perms['allow_cid']),
+ '$allowgid' => json_encode($perms['allow_gid']),
+ '$denycid' => json_encode($perms['deny_cid']),
+ '$denygid' => json_encode($perms['deny_gid']),
));
@@ -322,3 +336,238 @@ function populate_acl($user = null,$celeb = false) {
}
+function construct_acl_data(&$a, $user) {
+
+ // Get group and contact information for html ACL selector
+ $acl_data = acl_lookup(&$a, 'html');
+
+ $user_defaults = get_acl_permissions($user);
+
+ if($acl_data['groups']) {
+ foreach($acl_data['groups'] as $key=>$group) {
+ // Add a "selected" flag to groups that are posted to by default
+ if($user_defaults['allow_gid'] &&
+ in_array($group['id'], $user_defaults['allow_gid']) && !in_array($group['id'], $user_defaults['deny_gid']) )
+ $acl_data['groups'][$key]['selected'] = 1;
+ else
+ $acl_data['groups'][$key]['selected'] = 0;
+ }
+ }
+ if($acl_data['contacts']) {
+ foreach($acl_data['contacts'] as $key=>$contact) {
+ // Add a "selected" flag to groups that are posted to by default
+ if($user_defaults['allow_cid'] &&
+ in_array($contact['id'], $user_defaults['allow_cid']) && !in_array($contact['id'], $user_defaults['deny_cid']) )
+ $acl_data['contacts'][$key]['selected'] = 1;
+ else
+ $acl_data['contacts'][$key]['selected'] = 0;
+ }
+ }
+
+ return $acl_data;
+
+}
+
+function acl_lookup(&$a, $out_type = 'json') {
+
+ if(!local_user())
+ return "";
+
+
+ $start = (x($_REQUEST,'start')?$_REQUEST['start']:0);
+ $count = (x($_REQUEST,'count')?$_REQUEST['count']:100);
+ $search = (x($_REQUEST,'search')?$_REQUEST['search']:"");
+ $type = (x($_REQUEST,'type')?$_REQUEST['type']:"");
+
+
+ // For use with jquery.autocomplete for private mail completion
+
+ if(x($_REQUEST,'query') && strlen($_REQUEST['query'])) {
+ if(! $type)
+ $type = 'm';
+ $search = $_REQUEST['query'];
+ }
+
+
+ if ($search!=""){
+ $sql_extra = "AND `name` LIKE '%%".dbesc($search)."%%'";
+ $sql_extra2 = "AND (`attag` LIKE '%%".dbesc($search)."%%' OR `name` LIKE '%%".dbesc($search)."%%' OR `nick` LIKE '%%".dbesc($search)."%%')";
+ } else {
+ $sql_extra = $sql_extra2 = "";
+ }
+
+ // count groups and contacts
+ if ($type=='' || $type=='g'){
+ $r = q("SELECT COUNT(`id`) AS g FROM `group` WHERE `deleted` = 0 AND `uid` = %d $sql_extra",
+ intval(local_user())
+ );
+ $group_count = (int)$r[0]['g'];
+ } else {
+ $group_count = 0;
+ }
+
+ if ($type=='' || $type=='c'){
+ $r = q("SELECT COUNT(`id`) AS c FROM `contact`
+ WHERE `uid` = %d AND `self` = 0
+ AND `blocked` = 0 AND `pending` = 0 AND `archive` = 0
+ AND `notify` != '' $sql_extra2" ,
+ intval(local_user())
+ );
+ $contact_count = (int)$r[0]['c'];
+ }
+ elseif ($type == 'm') {
+
+ // autocomplete for Private Messages
+
+ $r = q("SELECT COUNT(`id`) AS c FROM `contact`
+ WHERE `uid` = %d AND `self` = 0
+ AND `blocked` = 0 AND `pending` = 0 AND `archive` = 0
+ AND `network` IN ('%s','%s','%s') $sql_extra2" ,
+ intval(local_user()),
+ dbesc(NETWORK_DFRN),
+ dbesc(NETWORK_ZOT),
+ dbesc(NETWORK_DIASPORA)
+ );
+ $contact_count = (int)$r[0]['c'];
+
+ }
+ elseif ($type == 'a') {
+
+ // autocomplete for Contacts
+
+ $r = q("SELECT COUNT(`id`) AS c FROM `contact`
+ WHERE `uid` = %d AND `self` = 0
+ AND `pending` = 0 $sql_extra2" ,
+ intval(local_user())
+ );
+ $contact_count = (int)$r[0]['c'];
+
+ } else {
+ $contact_count = 0;
+ }
+
+ $tot = $group_count+$contact_count;
+
+ $groups = array();
+ $contacts = array();
+
+ if ($type=='' || $type=='g'){
+
+ $r = q("SELECT `group`.`id`, `group`.`name`, GROUP_CONCAT(DISTINCT `group_member`.`contact-id` SEPARATOR ',') as uids
+ FROM `group`,`group_member`
+ WHERE `group`.`deleted` = 0 AND `group`.`uid` = %d
+ AND `group_member`.`gid`=`group`.`id`
+ $sql_extra
+ GROUP BY `group`.`id`
+ ORDER BY `group`.`name`
+ LIMIT %d,%d",
+ intval(local_user()),
+ intval($start),
+ intval($count)
+ );
+
+ foreach($r as $g){
+// logger('acl: group: ' . $g['name'] . ' members: ' . $g['uids']);
+ $groups[] = array(
+ "type" => "g",
+ "photo" => "images/twopeople.png",
+ "name" => $g['name'],
+ "id" => intval($g['id']),
+ "uids" => array_map("intval", explode(",",$g['uids'])),
+ "link" => ''
+ );
+ }
+ }
+
+ if ($type=='' || $type=='c'){
+
+ $r = q("SELECT `id`, `name`, `nick`, `micro`, `network`, `url`, `attag` FROM `contact`
+ WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 AND `pending` = 0 AND `archive` = 0 AND `notify` != ''
+ $sql_extra2
+ ORDER BY `name` ASC ",
+ intval(local_user())
+ );
+ }
+ elseif($type == 'm') {
+ $r = q("SELECT `id`, `name`, `nick`, `micro`, `network`, `url`, `attag` FROM `contact`
+ WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 AND `pending` = 0 AND `archive` = 0
+ AND `network` IN ('%s','%s','%s')
+ $sql_extra2
+ ORDER BY `name` ASC ",
+ intval(local_user()),
+ dbesc(NETWORK_DFRN),
+ dbesc(NETWORK_ZOT),
+ dbesc(NETWORK_DIASPORA)
+ );
+ }
+ elseif($type == 'a') {
+ $r = q("SELECT `id`, `name`, `nick`, `micro`, `network`, `url`, `attag` FROM `contact`
+ WHERE `uid` = %d AND `pending` = 0
+ $sql_extra2
+ ORDER BY `name` ASC ",
+ intval(local_user())
+ );
+ }
+ else
+ $r = array();
+
+
+ if($type == 'm' || $type == 'a') {
+ $x = array();
+ $x['query'] = $search;
+ $x['photos'] = array();
+ $x['links'] = array();
+ $x['suggestions'] = array();
+ $x['data'] = array();
+ if(count($r)) {
+ foreach($r as $g) {
+ $x['photos'][] = $g['micro'];
+ $x['links'][] = $g['url'];
+ $x['suggestions'][] = $g['name'];
+ $x['data'][] = intval($g['id']);
+ }
+ }
+ echo json_encode($x);
+ killme();
+ }
+
+ if(count($r)) {
+ foreach($r as $g){
+ $contacts[] = array(
+ "type" => "c",
+ "photo" => $g['micro'],
+ "name" => $g['name'],
+ "id" => intval($g['id']),
+ "network" => $g['network'],
+ "link" => $g['url'],
+ "nick" => ($g['attag']) ? $g['attag'] : $g['nick'],
+ );
+ }
+ }
+
+ $items = array_merge($groups, $contacts);
+
+
+ if($out_type === 'html') {
+ $o = array(
+ 'tot' => $tot,
+ 'start' => $start,
+ 'count' => $count,
+ 'groups' => $groups,
+ 'contacts' => $contacts,
+ );
+ return $o;
+ }
+
+ $o = array(
+ 'tot' => $tot,
+ 'start' => $start,
+ 'count' => $count,
+ 'items' => $items,
+ );
+
+ echo json_encode($o);
+
+ killme();
+}
+
diff --git a/include/conversation.php b/include/conversation.php
index c278ec2f1..d5f87567b 100644
--- a/include/conversation.php
+++ b/include/conversation.php
@@ -1,6 +1,7 @@
$a->get_baseurl($ssl_state),
+ '$return_path' => $a->query_string,
'$live_update' => $live_update_div,
'$remove' => t('remove'),
'$mode' => $mode,
@@ -908,7 +910,7 @@ function format_like($cnt,$arr,$type,$id) {
$str .= sprintf( t(', and %d other people'), $total - MAX_LIKERS );
}
$str = (($type === 'like') ? sprintf( t('%s like this.'), $str) : sprintf( t('%s don\'t like this.'), $str));
- $o .= "\t" . '' . $str . '
';
+ $o .= "\t" . '' . $str . '
';
}
return $o;
}}
@@ -962,8 +964,6 @@ function status_editor($a,$x, $notes_cid = 0, $popup=false) {
));
- $tpl = get_markup_template("jot.tpl");
-
$jotplugins = '';
$jotnets = '';
@@ -994,10 +994,31 @@ function status_editor($a,$x, $notes_cid = 0, $popup=false) {
if($notes_cid)
$jotnets .= ' ';
+
+ // Private/public post links for the non-JS ACL form
+ $private_post = 1;
+ if($_REQUEST['public'])
+ $private_post = 0;
+
+ $query_str = $a->query_string;
+ if(strpos($query_str, 'public=1') !== false)
+ $query_str = str_replace(array('?public=1', '&public=1'), array('', ''), $query_str);
+
+ // I think $a->query_string may never have ? in it, but I could be wrong
+ // It looks like it's from the index.php?q=[etc] rewrite that the web
+ // server does, which converts any ? to &, e.g. suggest&ignore=61 for suggest?ignore=61
+ if(strpos($query_str, '?') === false)
+ $public_post_link = '?public=1';
+ else
+ $public_post_link = '&public=1';
+
+
+
// $tpl = replace_macros($tpl,array('$jotplugins' => $jotplugins));
+ $tpl = get_markup_template("jot.tpl");
$o .= replace_macros($tpl,array(
- '$return_path' => $a->query_string,
+ '$return_path' => $query_str,
'$action' => $a->get_baseurl(true) . '/item',
'$share' => (x($x,'button') ? $x['button'] : t('Share')),
'$upload' => t('Upload photo'),
@@ -1033,14 +1054,22 @@ function status_editor($a,$x, $notes_cid = 0, $popup=false) {
'$jotnets' => $jotnets,
'$emtitle' => t('Example: bob@example.com, mary@example.com'),
'$lockstate' => $x['lockstate'],
- '$acl' => $x['acl'],
'$bang' => $x['bang'],
'$profile_uid' => $x['profile_uid'],
'$preview' => ((feature_enabled($x['profile_uid'],'preview')) ? t('Preview') : ''),
'$jotplugins' => $jotplugins,
'$sourceapp' => t($a->sourcename),
'$cancel' => t('Cancel'),
- '$rand_num' => random_digits(12)
+ '$rand_num' => random_digits(12),
+
+ // ACL permissions box
+ '$acl' => $x['acl'],
+ '$acl_data' => $x['acl_data'],
+ '$group_perms' => t('Post to Groups'),
+ '$contact_perms' => t('Post to Contacts'),
+ '$private' => t('Private post'),
+ '$is_private' => $private_post,
+ '$public_link' => $public_post_link,
));
diff --git a/include/items.php b/include/items.php
index 08127c6eb..b0ceb0ed9 100755
--- a/include/items.php
+++ b/include/items.php
@@ -3874,6 +3874,34 @@ function drop_item($id,$interactive = true) {
if((local_user() == $item['uid']) || ($cid) || (! $interactive)) {
+ // Check if we should do HTML-based delete confirmation
+ if($_REQUEST['confirm']) {
+ // ' . "\r\n";
+ $o = replace_macros(get_markup_template('manage.tpl'), array(
+ '$title' => t('Manage Identities and/or Pages'),
+ '$desc' => t('Toggle between different identities or community/group pages which share your account details or which you have been granted "manage" permissions'),
+ '$choose' => t('Select an identity to manage: '),
+ '$identities' => $identities,
+ '$submit' => t('Submit'),
+ ));
return $o;
diff --git a/mod/message.php b/mod/message.php
index 885cdcd62..0a54f9428 100644
--- a/mod/message.php
+++ b/mod/message.php
@@ -82,6 +82,8 @@ function message_post(&$a) {
$a->argc = 2;
$a->argv[1] = 'new';
}
+ else
+ goaway($a->get_baseurl(true) . '/' . $_SESSION['return_url']);
}
@@ -185,6 +187,36 @@ function message_content(&$a) {
if(($a->argc == 3) && ($a->argv[1] === 'drop' || $a->argv[1] === 'dropconv')) {
if(! intval($a->argv[2]))
return;
+
+ // Check if we should do HTML-based delete confirmation
+ if($_REQUEST['confirm']) {
+ // can't take arguments in its "action" parameter
+ // so add any arguments as hidden inputs
+ $query = explode_querystring($a->query_string);
+ $inputs = array();
+ foreach($query['args'] as $arg) {
+ if(strpos($arg, 'confirm=') === false) {
+ $arg_parts = explode('=', $arg);
+ $inputs[] = array('name' => $arg_parts[0], 'value' => $arg_parts[1]);
+ }
+ }
+
+ //$a->page['aside'] = '';
+ return replace_macros(get_markup_template('confirm.tpl'), array(
+ '$method' => 'get',
+ '$message' => t('Do you really want to delete this message?'),
+ '$extra_inputs' => $inputs,
+ '$confirm' => t('Yes'),
+ '$confirm_url' => $query['base'],
+ '$confirm_name' => 'confirmed',
+ '$cancel' => t('Cancel'),
+ ));
+ }
+ // Now check how the user responded to the confirmation query
+ if($_REQUEST['canceled']) {
+ goaway($a->get_baseurl(true) . '/' . $_SESSION['return_url']);
+ }
+
$cmd = $a->argv[1];
if($cmd === 'drop') {
$r = q("DELETE FROM `mail` WHERE `id` = %d AND `uid` = %d LIMIT 1",
@@ -194,7 +226,8 @@ function message_content(&$a) {
if($r) {
info( t('Message deleted.') . EOL );
}
- goaway($a->get_baseurl(true) . '/message' );
+ //goaway($a->get_baseurl(true) . '/message' );
+ goaway($a->get_baseurl(true) . '/' . $_SESSION['return_url']);
}
else {
$r = q("SELECT `parent-uri`,`convid` FROM `mail` WHERE `id` = %d AND `uid` = %d LIMIT 1",
@@ -224,7 +257,8 @@ function message_content(&$a) {
if($r)
info( t('Conversation removed.') . EOL );
}
- goaway($a->get_baseurl(true) . '/message' );
+ //goaway($a->get_baseurl(true) . '/message' );
+ goaway($a->get_baseurl(true) . '/' . $_SESSION['return_url']);
}
}
@@ -304,6 +338,9 @@ function message_content(&$a) {
return $o;
}
+
+ $_SESSION['return_url'] = $a->query_string;
+
if($a->argc == 1) {
// list messages
diff --git a/mod/navigation.php b/mod/navigation.php
new file mode 100644
index 000000000..c14902c5f
--- /dev/null
+++ b/mod/navigation.php
@@ -0,0 +1,27 @@
+ $a->get_baseurl(),
+ '$langselector' => lang_selector(),
+ '$sitelocation' => $nav_info['sitelocation'],
+ '$nav' => $nav_info['nav'],
+ '$banner' => $nav_info['banner'],
+ '$emptynotifications' => t('Nothing new here'),
+ '$userinfo' => $nav_info['userinfo'],
+ '$sel' => $a->nav_sel,
+ '$apps' => $a->apps,
+ '$clear_notifs' => t('Clear notifications')
+ ));
+
+}
diff --git a/mod/network.php b/mod/network.php
index 2524ae063..b5046b632 100644
--- a/mod/network.php
+++ b/mod/network.php
@@ -560,10 +560,12 @@ function network_content(&$a, $update = 0) {
'default_location' => $a->user['default-location'],
'nickname' => $a->user['nickname'],
'lockstate' => ((($group) || ($cid) || ($nets) || (is_array($a->user) && ((strlen($a->user['allow_cid'])) || (strlen($a->user['allow_gid'])) || (strlen($a->user['deny_cid'])) || (strlen($a->user['deny_gid']))))) ? 'lock' : 'unlock'),
+ 'default_perms' => get_acl_permissions($a->user),
'acl' => populate_acl((($group || $cid || $nets) ? $def_acl : $a->user), $celeb),
'bang' => (($group || $cid || $nets) ? '!' : ''),
'visitor' => 'block',
- 'profile_uid' => local_user()
+ 'profile_uid' => local_user(),
+ 'acl_data' => construct_acl_data($a, $a->user), // For non-Javascript ACL selector
);
$o .= status_editor($a,$x);
diff --git a/mod/notes.php b/mod/notes.php
index 62796ed13..09dac72b0 100644
--- a/mod/notes.php
+++ b/mod/notes.php
@@ -60,8 +60,8 @@ function notes_content(&$a,$update = false) {
'bang' => '',
'visitor' => 'block',
'profile_uid' => local_user(),
- 'button' => t('Save')
-
+ 'button' => t('Save'),
+ 'acl_data' => '',
);
$o .= status_editor($a,$x,$a->contact['id']);
diff --git a/mod/photos.php b/mod/photos.php
index 7035c6690..c6892818a 100644
--- a/mod/photos.php
+++ b/mod/photos.php
@@ -166,6 +166,11 @@ function photos_post(&$a) {
return; // NOTREACHED
}
+ // Check if the user has responded to a delete confirmation query
+ if($_REQUEST['canceled']) {
+ goaway($a->get_baseurl() . '/' . $_SESSION['photo_return']);
+ }
+
$newalbum = notags(trim($_POST['albumname']));
if($newalbum != $album) {
q("UPDATE `photo` SET `album` = '%s' WHERE `album` = '%s' AND `uid` = %d",
@@ -181,6 +186,25 @@ function photos_post(&$a) {
if($_POST['dropalbum'] == t('Delete Album')) {
+ // Check if we should do HTML-based delete confirmation
+ if($_REQUEST['confirm']) {
+ $drop_url = $a->query_string;
+ $extra_inputs = array(
+ array('name' => 'albumname', 'value' => $_POST['albumname']),
+ );
+ $a->page['content'] = replace_macros(get_markup_template('confirm.tpl'), array(
+ '$method' => 'post',
+ '$message' => t('Do you really want to delete this photo album and all its photos?'),
+ '$extra_inputs' => $extra_inputs,
+ '$confirm' => t('Delete Album'),
+ '$confirm_url' => $drop_url,
+ '$confirm_name' => 'dropalbum', // Needed so that confirmation will bring us back into this if statement
+ '$cancel' => t('Cancel'),
+ ));
+ $a->error = 1; // Set $a->error so the other module functions don't execute
+ return;
+ }
+
$res = array();
// get the list of photos we are about to delete
@@ -242,10 +266,32 @@ function photos_post(&$a) {
return; // NOTREACHED
}
+
+ // Check if the user has responded to a delete confirmation query for a single photo
+ if(($a->argc > 2) && $_REQUEST['canceled']) {
+ goaway($a->get_baseurl() . '/' . $_SESSION['photo_return']);
+ }
+
if(($a->argc > 2) && (x($_POST,'delete')) && ($_POST['delete'] == t('Delete Photo'))) {
// same as above but remove single photo
+ // Check if we should do HTML-based delete confirmation
+ if($_REQUEST['confirm']) {
+ $drop_url = $a->query_string;
+ $a->page['content'] = replace_macros(get_markup_template('confirm.tpl'), array(
+ '$method' => 'post',
+ '$message' => t('Do you really want to delete this photo?'),
+ '$extra_inputs' => array(),
+ '$confirm' => t('Delete Photo'),
+ '$confirm_url' => $drop_url,
+ '$confirm_name' => 'delete', // Needed so that confirmation will bring us back into this if statement
+ '$cancel' => t('Cancel'),
+ ));
+ $a->error = 1; // Set $a->error so the other module functions don't execute
+ return;
+ }
+
if($visitor) {
$r = q("SELECT `id`, `resource-id` FROM `photo` WHERE `contact-id` = %d AND `uid` = %d AND `resource-id` = '%s' LIMIT 1",
intval($visitor),
@@ -284,7 +330,7 @@ function photos_post(&$a) {
}
}
- goaway($a->get_baseurl() . '/' . $_SESSION['photo_return']);
+ goaway($a->get_baseurl() . '/photos/' . $a->data['user']['nickname']);
return; // NOTREACHED
}
@@ -1024,8 +1070,10 @@ function photos_content(&$a) {
call_hooks('photo_upload_form',$ret);
- $default_upload = '
-
';
+ $default_upload_box = replace_macros(get_markup_template('photos_default_uploader_box.tpl'), array());
+ $default_upload_submit = replace_macros(get_markup_template('photos_default_uploader_submit.tpl'), array(
+ '$submit' => t('Submit'),
+ ));
$usage_message = '';
$limit = service_class_fetch($a->data['user']['uid'],'photo_upload_limit');
@@ -1038,6 +1086,25 @@ function photos_content(&$a) {
}
+ // Private/public post links for the non-JS ACL form
+ $private_post = 1;
+ if($_REQUEST['public'])
+ $private_post = 0;
+
+ $query_str = $a->query_string;
+ if(strpos($query_str, 'public=1') !== false)
+ $query_str = str_replace(array('?public=1', '&public=1'), array('', ''), $query_str);
+
+ // I think $a->query_string may never have ? in it, but I could be wrong
+ // It looks like it's from the index.php?q=[etc] rewrite that the web
+ // server does, which converts any ? to &, e.g. suggest&ignore=61 for suggest?ignore=61
+ if(strpos($query_str, '?') === false)
+ $public_post_link = '?public=1';
+ else
+ $public_post_link = '&public=1';
+
+
+
$tpl = get_markup_template('photos_upload.tpl');
if($a->theme['template_engine'] === 'internal') {
@@ -1060,9 +1127,20 @@ function photos_content(&$a) {
'$albumselect' => $albumselect_e,
'$permissions' => t('Permissions'),
'$aclselect' => $aclselect_e,
- '$uploader' => $ret['addon_text'],
- '$default' => (($ret['default_upload']) ? $default_upload : ''),
- '$uploadurl' => $ret['post_url']
+ '$alt_uploader' => $ret['addon_text'],
+ '$default_upload_box' => (($ret['default_upload']) ? $default_upload_box : ''),
+ '$default_upload_submit' => (($ret['default_upload']) ? $default_upload_submit : ''),
+ '$uploadurl' => $ret['post_url'],
+
+ // ACL permissions box
+ '$acl_data' => construct_acl_data($a, $a->user), // For non-Javascript ACL selector
+ '$group_perms' => t('Show to Groups'),
+ '$contact_perms' => t('Show to Contacts'),
+ '$private' => t('Private Photo'),
+ '$public' => t('Public Photo'),
+ '$is_private' => $private_post,
+ '$return_path' => $query_str,
+ '$public_link' => $public_post_link,
));
@@ -1372,6 +1450,24 @@ function photos_content(&$a) {
if(($cmd === 'edit') && ($can_post)) {
$edit_tpl = get_markup_template('photo_edit.tpl');
+ // Private/public post links for the non-JS ACL form
+ $private_post = 1;
+ if($_REQUEST['public'])
+ $private_post = 0;
+
+ $query_str = $a->query_string;
+ if(strpos($query_str, 'public=1') !== false)
+ $query_str = str_replace(array('?public=1', '&public=1'), array('', ''), $query_str);
+
+ // I think $a->query_string may never have ? in it, but I could be wrong
+ // It looks like it's from the index.php?q=[etc] rewrite that the web
+ // server does, which converts any ? to &, e.g. suggest&ignore=61 for suggest?ignore=61
+ if(strpos($query_str, '?') === false)
+ $public_post_link = '?public=1';
+ else
+ $public_post_link = '&public=1';
+
+
if($a->theme['template_engine'] === 'internal') {
$album_e = template_escape($ph[0]['album']);
$caption_e = template_escape($ph[0]['desc']);
@@ -1400,7 +1496,17 @@ function photos_content(&$a) {
'$help_tags' => t('Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping'),
'$item_id' => ((count($linked_items)) ? $link_item['id'] : 0),
'$submit' => t('Submit'),
- '$delete' => t('Delete Photo')
+ '$delete' => t('Delete Photo'),
+
+ // ACL permissions box
+ '$acl_data' => construct_acl_data($a, $ph[0]), // For non-Javascript ACL selector
+ '$group_perms' => t('Show to Groups'),
+ '$contact_perms' => t('Show to Contacts'),
+ '$private' => t('Private photo'),
+ '$public' => t('Public photo'),
+ '$is_private' => $private_post,
+ '$return_path' => $query_str,
+ '$public_link' => $public_post_link,
));
}
@@ -1418,9 +1524,10 @@ function photos_content(&$a) {
$likebuttons = replace_macros($like_tpl,array(
'$id' => $link_item['id'],
'$likethis' => t("I like this \x28toggle\x29"),
- '$nolike' => t("I don't like this \x28toggle\x29"),
+ '$nolike' => (feature_enabled(local_user(), 'dislike') ? t("I don't like this \x28toggle\x29") : ''),
'$share' => t('Share'),
- '$wait' => t('Please wait')
+ '$wait' => t('Please wait'),
+ '$return_path' => $a->query_string,
));
}
diff --git a/mod/profile.php b/mod/profile.php
index 25871c240..eea5dc7e4 100644
--- a/mod/profile.php
+++ b/mod/profile.php
@@ -198,7 +198,8 @@ function profile_content(&$a, $update = 0) {
'acl' => (($is_owner) ? populate_acl($a->user, $celeb) : ''),
'bang' => '',
'visitor' => (($is_owner || $commvisitor) ? 'block' : 'none'),
- 'profile_uid' => $a->profile['profile_uid']
+ 'profile_uid' => $a->profile['profile_uid'],
+ 'acl_data' => ( $is_owner ? construct_acl_data($a, $a->user) : '' ), // For non-Javascript ACL selector
);
$o .= status_editor($a,$x);
diff --git a/mod/settings.php b/mod/settings.php
index dbdd40bc3..8b3cebfa3 100644
--- a/mod/settings.php
+++ b/mod/settings.php
@@ -1012,6 +1012,25 @@ function settings_content(&$a) {
require_once('include/group.php');
$group_select = mini_group_select(local_user(),$a->user['def_gid']);
+
+ // Private/public post links for the non-JS ACL form
+ $private_post = 1;
+ if($_REQUEST['public'])
+ $private_post = 0;
+
+ $query_str = $a->query_string;
+ if(strpos($query_str, 'public=1') !== false)
+ $query_str = str_replace(array('?public=1', '&public=1'), array('', ''), $query_str);
+
+ // I think $a->query_string may never have ? in it, but I could be wrong
+ // It looks like it's from the index.php?q=[etc] rewrite that the web
+ // server does, which converts any ? to &, e.g. suggest&ignore=61 for suggest?ignore=61
+ if(strpos($query_str, '?') === false)
+ $public_post_link = '?public=1';
+ else
+ $public_post_link = '&public=1';
+
+
$o .= replace_macros($stpl, array(
'$ptitle' => t('Account Settings'),
@@ -1046,6 +1065,17 @@ function settings_content(&$a) {
'$blockwall'=> $blockwall, // array('blockwall', t('Allow friends to post to your profile page:'), !$blockwall, ''),
'$blocktags'=> $blocktags, // array('blocktags', t('Allow friends to tag your posts:'), !$blocktags, ''),
+ // ACL permissions box
+ '$acl_data' => construct_acl_data($a, $a->user), // For non-Javascript ACL selector
+ '$group_perms' => t('Show to Groups'),
+ '$contact_perms' => t('Show to Contacts'),
+ '$private' => t('Default Private Post'),
+ '$public' => t('Default Public Post'),
+ '$is_private' => $private_post,
+ '$return_path' => $query_str,
+ '$public_link' => $public_post_link,
+ '$settings_perms' => t('Default Permissions for New Posts'),
+
'$group_select' => $group_select,
diff --git a/mod/starred.php b/mod/starred.php
index 035b81e76..4fbfd1a95 100644
--- a/mod/starred.php
+++ b/mod/starred.php
@@ -28,6 +28,16 @@ function starred_init(&$a) {
intval($message_id)
);
+ // See if we've been passed a return path to redirect to
+ $return_path = ((x($_REQUEST,'return')) ? $_REQUEST['return'] : '');
+ if($return_path) {
+ $rand = '_=' . time();
+ if(strpos($return_path, '?')) $rand = "&$rand";
+ else $rand = "?$rand";
+
+ goaway($a->get_baseurl() . "/" . $return_path . $rand);
+ }
+
// the json doesn't really matter, it will either be 0 or 1
echo json_encode($starred);
diff --git a/mod/suggest.php b/mod/suggest.php
index 7a86d53a1..a86b412b3 100644
--- a/mod/suggest.php
+++ b/mod/suggest.php
@@ -9,10 +9,38 @@ function suggest_init(&$a) {
return;
if(x($_GET,'ignore') && intval($_GET['ignore'])) {
- q("insert into gcign ( uid, gcid ) values ( %d, %d ) ",
- intval(local_user()),
- intval($_GET['ignore'])
- );
+ // Check if we should do HTML-based delete confirmation
+ if($_REQUEST['confirm']) {
+ // can't take arguments in its "action" parameter
+ // so add any arguments as hidden inputs
+ $query = explode_querystring($a->query_string);
+ $inputs = array();
+ foreach($query['args'] as $arg) {
+ if(strpos($arg, 'confirm=') === false) {
+ $arg_parts = explode('=', $arg);
+ $inputs[] = array('name' => $arg_parts[0], 'value' => $arg_parts[1]);
+ }
+ }
+
+ $a->page['content'] = replace_macros(get_markup_template('confirm.tpl'), array(
+ '$method' => 'get',
+ '$message' => t('Do you really want to delete this suggestion?'),
+ '$extra_inputs' => $inputs,
+ '$confirm' => t('Yes'),
+ '$confirm_url' => $query['base'],
+ '$confirm_name' => 'confirmed',
+ '$cancel' => t('Cancel'),
+ ));
+ $a->error = 1; // Set $a->error so the other module functions don't execute
+ return;
+ }
+ // Now check how the user responded to the confirmation query
+ if(!$_REQUEST['canceled']) {
+ q("insert into gcign ( uid, gcid ) values ( %d, %d ) ",
+ intval(local_user()),
+ intval($_GET['ignore'])
+ );
+ }
}
}
@@ -56,6 +84,7 @@ function suggest_content(&$a) {
'$name' => $rr['name'],
'$photo' => $rr['photo'],
'$ignlnk' => $a->get_baseurl() . '/suggest?ignore=' . $rr['id'],
+ '$ignid' => $rr['id'],
'$conntxt' => t('Connect'),
'$connlnk' => $connlnk,
'$ignore' => t('Ignore/Hide')
diff --git a/object/Item.php b/object/Item.php
index 9c06fc8cf..cd42c4008 100644
--- a/object/Item.php
+++ b/object/Item.php
@@ -588,7 +588,7 @@ class Item extends BaseObject {
$qcomment = (($qc) ? explode("\n",$qc) : null);
}
$comment_box = replace_macros($template,array(
- '$return_path' => '',
+ '$return_path' => $a->query_string,
'$threaded' => $this->is_threaded(),
// '$jsreload' => (($conv->get_mode() === 'display') ? $_SESSION['return_url'] : ''),
'$jsreload' => '',
diff --git a/view/comment_item.tpl b/view/comment_item.tpl
index 5783a409c..1764f99d8 100644
--- a/view/comment_item.tpl
+++ b/view/comment_item.tpl
@@ -7,7 +7,7 @@
-
+ {##}
diff --git a/view/confirm.tpl b/view/confirm.tpl
new file mode 100644
index 000000000..5e7e641c4
--- /dev/null
+++ b/view/confirm.tpl
@@ -0,0 +1,14 @@
+
+
+
+ $message
+ {{ for $extra_inputs as $input }}
+
+ {{ endfor }}
+
+
+
+
+
+
+
diff --git a/view/contact_template.tpl b/view/contact_template.tpl
index 48930b48a..f7ed10750 100644
--- a/view/contact_template.tpl
+++ b/view/contact_template.tpl
@@ -11,7 +11,13 @@
{{ endif }}
diff --git a/view/like_noshare.tpl b/view/like_noshare.tpl
index 2651ea1f8..777b2e359 100644
--- a/view/like_noshare.tpl
+++ b/view/like_noshare.tpl
@@ -1,5 +1,7 @@
diff --git a/view/manage.tpl b/view/manage.tpl
new file mode 100644
index 000000000..24497b42c
--- /dev/null
+++ b/view/manage.tpl
@@ -0,0 +1,17 @@
+$title
+$desc
+$choose
+
+
+
+
+ {{ for $identities as $id }}
+ $id.username ($id.nickname)
+ {{ endfor }}
+
+
+
+
+ {##}
+
+
diff --git a/view/navigation.tpl b/view/navigation.tpl
new file mode 100644
index 000000000..3e03efa30
--- /dev/null
+++ b/view/navigation.tpl
@@ -0,0 +1,103 @@
+{#
+ # LOGIN/REGISTER
+ #}
+
+{# Use nested if's since the Friendica template engine doesn't support AND or OR in if statements #}
+{{ if $nav.login }}
+
+{{ else }}
+{{ if $nav.register }}
+
+{{ endif }}
+{{ endif }}
+{{ if $nav.login }}
$nav.login.1 {{ endif }}
+{{ if $nav.register }}
$nav.register.1 {{ endif }}
+{{ if $nav.login }}
+
+{{ else }}
+{{ if $nav.register }}
+
+{{ endif }}
+{{ endif }}
+
+{#
+ # NETWORK/HOME
+ #}
+{{ if $nav.network }}
+
+{{ else }}
+{{ if $nav.home }}
+
+{{ else }}
+{{ if $nav.community }}
+
+{{ endif }}
+{{ endif }}
+{{ endif }}
+{{ if $nav.network }}
+
$nav.network.1
+
$nav.net_reset.1
+{{ endif }}
+{{ if $nav.home }}
+
$nav.home.1
+{{ endif }}
+{{ if $nav.community }}
+
+{{ endif }}
+{{ if $nav.network }}
+
+{{ else }}
+{{ if $nav.home }}
+
+{{ else }}
+{{ if $nav.community }}
+
+{{ endif }}
+{{ endif }}
+{{ endif }}
+
+{#
+ # PRIVATE MESSAGES
+ #}
+{{ if $nav.messages }}
+
+{{ endif }}
+
+
+{#
+ # CONTACTS
+ #}
+
+
+{#
+ # NOTIFICATIONS
+ #}
+{{ if $nav.notifications }}
+
+{{ endif }}
+
+{#
+ # MISCELLANEOUS
+ #}
+
+
+{{ if $nav.logout }}$nav.logout.1 {{ endif }}
+
diff --git a/view/photos_default_uploader_box.tpl b/view/photos_default_uploader_box.tpl
new file mode 100644
index 000000000..2f1f69a50
--- /dev/null
+++ b/view/photos_default_uploader_box.tpl
@@ -0,0 +1 @@
+
diff --git a/view/photos_default_uploader_submit.tpl b/view/photos_default_uploader_submit.tpl
new file mode 100644
index 000000000..cacb41656
--- /dev/null
+++ b/view/photos_default_uploader_submit.tpl
@@ -0,0 +1,3 @@
+
+
+
diff --git a/view/photos_upload.tpl b/view/photos_upload.tpl
index 2a820d9c7..7de8d8ab7 100644
--- a/view/photos_upload.tpl
+++ b/view/photos_upload.tpl
@@ -39,9 +39,10 @@
- $uploader
+ $alt_uploader
- $default
+ $default_upload_box
+ $default_upload_submit
diff --git a/view/theme/comix-plain/comment_item.tpl b/view/theme/comix-plain/comment_item.tpl
index e3c686f05..045a350f6 100644
--- a/view/theme/comix-plain/comment_item.tpl
+++ b/view/theme/comix-plain/comment_item.tpl
@@ -3,7 +3,7 @@
-
+ {##}
diff --git a/view/theme/comix/comment_item.tpl b/view/theme/comix/comment_item.tpl
index e3c686f05..045a350f6 100644
--- a/view/theme/comix/comment_item.tpl
+++ b/view/theme/comix/comment_item.tpl
@@ -3,7 +3,7 @@
-
+ {##}
diff --git a/view/theme/decaf-mobile/TODO b/view/theme/decaf-mobile/TODO
new file mode 100644
index 000000000..735f6bdc3
--- /dev/null
+++ b/view/theme/decaf-mobile/TODO
@@ -0,0 +1,31 @@
+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
+
+- BB code buttons for status updates
+
+- Get "add contact" back on contacts page
+
+- Allow creating a new private message
+
+- Admin: access to more pages than summary?
+
+- Find a way to show embedded videos at the normal size for tablets that can handle it
+
+- Need to find a way to deal with freakin annoying elements that don't respect screen width limits.
+ Specifically, need to find a way to keep them from forcing a horizontal scroll bar to show up and
+ making the rest of the body text overflow the item's borders that is screen-width sensitive (it's
+ annoying to have a 300px truncated code block on a 1024px wide screen). At least the following cause problems:
+ - code blocks
+ - blockquote blocks
+ - #reallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallylongtags
+
+- Needs to be faster!
+ - Reduce DOM elements (~2400 for 10 items, ~8400 for 40 items)
+
+
+- Sometimes, when "Permission denied", wrong login page is shown
diff --git a/view/theme/decaf-mobile/acl_html_selector.tpl b/view/theme/decaf-mobile/acl_html_selector.tpl
new file mode 100644
index 000000000..e84b0eefc
--- /dev/null
+++ b/view/theme/decaf-mobile/acl_html_selector.tpl
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+ $group_perms
+
+ {{ for $acl_data.groups as $group }}
+ $group.name
+ {{ endfor }}
+
+
+
+ $contact_perms
+
+ {{ for $acl_data.contacts as $contact }}
+ $contact.name ($contact.networkName)
+ {{ endfor }}
+
+
+
+
+
+
+
diff --git a/view/theme/decaf-mobile/acl_selector.tpl b/view/theme/decaf-mobile/acl_selector.tpl
new file mode 100644
index 000000000..8e9916c95
--- /dev/null
+++ b/view/theme/decaf-mobile/acl_selector.tpl
@@ -0,0 +1,23 @@
+
+
+
+
+{##}
diff --git a/view/theme/decaf-mobile/admin_aside.tpl b/view/theme/decaf-mobile/admin_aside.tpl
new file mode 100644
index 000000000..da3ed23a8
--- /dev/null
+++ b/view/theme/decaf-mobile/admin_aside.tpl
@@ -0,0 +1,31 @@
+
+
+
+
+{{ if $admin.update }}
+
+{{ endif }}
+
+
+{{ if $admin.plugins_admin }}$plugadmtxt {{ endif }}
+
+ {{ for $admin.plugins_admin as $l }}
+ $l.1
+ {{ endfor }}
+
+
+
+$logtxt
+
+
diff --git a/view/theme/decaf-mobile/admin_site.tpl b/view/theme/decaf-mobile/admin_site.tpl
new file mode 100644
index 000000000..087de4f7d
--- /dev/null
+++ b/view/theme/decaf-mobile/admin_site.tpl
@@ -0,0 +1,61 @@
+
+
diff --git a/view/theme/decaf-mobile/admin_users.tpl b/view/theme/decaf-mobile/admin_users.tpl
new file mode 100644
index 000000000..336467924
--- /dev/null
+++ b/view/theme/decaf-mobile/admin_users.tpl
@@ -0,0 +1,98 @@
+
+
diff --git a/view/theme/decaf-mobile/album_edit.tpl b/view/theme/decaf-mobile/album_edit.tpl
new file mode 100644
index 000000000..3fe2d9fe9
--- /dev/null
+++ b/view/theme/decaf-mobile/album_edit.tpl
@@ -0,0 +1,15 @@
+
+
diff --git a/view/theme/decaf-mobile/border.jpg b/view/theme/decaf-mobile/border.jpg
new file mode 100644
index 000000000..034a1cb63
Binary files /dev/null and b/view/theme/decaf-mobile/border.jpg differ
diff --git a/view/theme/decaf-mobile/categories_widget.tpl b/view/theme/decaf-mobile/categories_widget.tpl
new file mode 100644
index 000000000..ebc62404b
--- /dev/null
+++ b/view/theme/decaf-mobile/categories_widget.tpl
@@ -0,0 +1,12 @@
+{##}
diff --git a/view/theme/decaf-mobile/comment_item.tpl b/view/theme/decaf-mobile/comment_item.tpl
new file mode 100755
index 000000000..ee0e8c791
--- /dev/null
+++ b/view/theme/decaf-mobile/comment_item.tpl
@@ -0,0 +1,79 @@
+{##}
+
+
diff --git a/view/theme/decaf-mobile/common_tabs.tpl b/view/theme/decaf-mobile/common_tabs.tpl
new file mode 100644
index 000000000..940e5aeb2
--- /dev/null
+++ b/view/theme/decaf-mobile/common_tabs.tpl
@@ -0,0 +1,6 @@
+
+ {{ for $tabs as $tab }}
+ $tab.label
+ {{ endfor }}
+
+
diff --git a/view/theme/decaf-mobile/contact_block.tpl b/view/theme/decaf-mobile/contact_block.tpl
new file mode 100644
index 000000000..a8e34fce1
--- /dev/null
+++ b/view/theme/decaf-mobile/contact_block.tpl
@@ -0,0 +1,12 @@
+{##}
diff --git a/view/theme/decaf-mobile/contact_edit.tpl b/view/theme/decaf-mobile/contact_edit.tpl
new file mode 100644
index 000000000..908212b48
--- /dev/null
+++ b/view/theme/decaf-mobile/contact_edit.tpl
@@ -0,0 +1,93 @@
+
+$header
+
+
diff --git a/view/theme/decaf-mobile/contact_head.tpl b/view/theme/decaf-mobile/contact_head.tpl
new file mode 100644
index 000000000..e69de29bb
diff --git a/view/theme/decaf-mobile/contact_template.tpl b/view/theme/decaf-mobile/contact_template.tpl
new file mode 100644
index 000000000..4ef0405b7
--- /dev/null
+++ b/view/theme/decaf-mobile/contact_template.tpl
@@ -0,0 +1,38 @@
+
+
+
+
+
+{##}
+ {##}
+
+
+
+ {##}
+
+{##}
+
+
+
+
+
$contact.name
+{{ if $contact.alt_text }}
$contact.alt_text
{{ endif }}
+
$contact.network
+
+
+
diff --git a/view/theme/decaf-mobile/contacts-end.tpl b/view/theme/decaf-mobile/contacts-end.tpl
new file mode 100644
index 000000000..fea596360
--- /dev/null
+++ b/view/theme/decaf-mobile/contacts-end.tpl
@@ -0,0 +1,4 @@
+{##}
diff --git a/view/theme/decaf-mobile/contacts-head.tpl b/view/theme/decaf-mobile/contacts-head.tpl
new file mode 100644
index 000000000..6c7355f4c
--- /dev/null
+++ b/view/theme/decaf-mobile/contacts-head.tpl
@@ -0,0 +1,5 @@
+{##}
diff --git a/view/theme/decaf-mobile/contacts-template.tpl b/view/theme/decaf-mobile/contacts-template.tpl
new file mode 100644
index 000000000..76254c1ca
--- /dev/null
+++ b/view/theme/decaf-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/decaf-mobile/contacts-widget-sidebar.tpl b/view/theme/decaf-mobile/contacts-widget-sidebar.tpl
new file mode 100644
index 000000000..1c63f9eab
--- /dev/null
+++ b/view/theme/decaf-mobile/contacts-widget-sidebar.tpl
@@ -0,0 +1,2 @@
+$follow_widget
+
diff --git a/view/theme/decaf-mobile/conversation.tpl b/view/theme/decaf-mobile/conversation.tpl
new file mode 100644
index 000000000..d39976f39
--- /dev/null
+++ b/view/theme/decaf-mobile/conversation.tpl
@@ -0,0 +1,29 @@
+$live_update
+
+{{ for $threads as $thread }}
+
+ {{ for $thread.items as $item }}
+ {{if $item.comment_firstcollapsed}}
+
+ {{endif}}
+
+ {{ inc $item.template }}{{ endinc }}
+
+
+ {{ endfor }}
+
+{{ endfor }}
+
+
+
+{##}
diff --git a/view/theme/decaf-mobile/cropbody.tpl b/view/theme/decaf-mobile/cropbody.tpl
new file mode 100644
index 000000000..3283084ca
--- /dev/null
+++ b/view/theme/decaf-mobile/cropbody.tpl
@@ -0,0 +1,27 @@
+$title
+
+$desc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/view/theme/decaf-mobile/cropend.tpl b/view/theme/decaf-mobile/cropend.tpl
new file mode 100644
index 000000000..a27de0e2f
--- /dev/null
+++ b/view/theme/decaf-mobile/cropend.tpl
@@ -0,0 +1,4 @@
+{##}
diff --git a/view/theme/decaf-mobile/crophead.tpl b/view/theme/decaf-mobile/crophead.tpl
new file mode 100644
index 000000000..56e941e3a
--- /dev/null
+++ b/view/theme/decaf-mobile/crophead.tpl
@@ -0,0 +1 @@
+
diff --git a/view/theme/decaf-mobile/default.php b/view/theme/decaf-mobile/default.php
new file mode 100644
index 000000000..ad464760f
--- /dev/null
+++ b/view/theme/decaf-mobile/default.php
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+module === 'home') echo 'onLoad="setTimeout(\'homeRedirect()\', 1500)"'?>>
+
+
+ module === 'home' ) { ?>
+
+
+
+
+ module === 'login' || $a->module === 'register' || $a->module === 'lostpass' ) {
+ ?>
+
+
+
+
+
+
+
+
+
+ module === 'settings' || $a->module === 'message' || $a->module === 'profile') && x($page,'aside')) echo $page['aside']; ?>
+
+
+
+ module === 'contacts') && x($page,'aside')) echo $page['aside']; ?>
+
+
+
+
+
+
+
+
diff --git a/view/theme/decaf-mobile/display-head.tpl b/view/theme/decaf-mobile/display-head.tpl
new file mode 100644
index 000000000..1c990657f
--- /dev/null
+++ b/view/theme/decaf-mobile/display-head.tpl
@@ -0,0 +1,4 @@
+{##}
diff --git a/view/theme/decaf-mobile/editicons.png b/view/theme/decaf-mobile/editicons.png
new file mode 100644
index 000000000..171a40876
Binary files /dev/null and b/view/theme/decaf-mobile/editicons.png differ
diff --git a/view/theme/decaf-mobile/end.tpl b/view/theme/decaf-mobile/end.tpl
new file mode 100644
index 000000000..cb3824d9d
--- /dev/null
+++ b/view/theme/decaf-mobile/end.tpl
@@ -0,0 +1,24 @@
+
+{##}
+{##}
+{##}
+{##}
+{##}
+
+
+
+
diff --git a/view/theme/decaf-mobile/event_end.tpl b/view/theme/decaf-mobile/event_end.tpl
new file mode 100644
index 000000000..3e4be6ec6
--- /dev/null
+++ b/view/theme/decaf-mobile/event_end.tpl
@@ -0,0 +1,4 @@
+{##}
diff --git a/view/theme/decaf-mobile/event_head.tpl b/view/theme/decaf-mobile/event_head.tpl
new file mode 100644
index 000000000..63a1135af
--- /dev/null
+++ b/view/theme/decaf-mobile/event_head.tpl
@@ -0,0 +1,6 @@
+
+{##}
diff --git a/view/theme/decaf-mobile/field_checkbox.tpl b/view/theme/decaf-mobile/field_checkbox.tpl
new file mode 100644
index 000000000..9fbf84eac
--- /dev/null
+++ b/view/theme/decaf-mobile/field_checkbox.tpl
@@ -0,0 +1,6 @@
+
+
+ $field.1
+
+ $field.3
+
diff --git a/view/theme/decaf-mobile/field_input.tpl b/view/theme/decaf-mobile/field_input.tpl
new file mode 100644
index 000000000..58e17406c
--- /dev/null
+++ b/view/theme/decaf-mobile/field_input.tpl
@@ -0,0 +1,6 @@
+
+
+ $field.1
+
+ $field.3
+
diff --git a/view/theme/decaf-mobile/field_openid.tpl b/view/theme/decaf-mobile/field_openid.tpl
new file mode 100644
index 000000000..8d330a30a
--- /dev/null
+++ b/view/theme/decaf-mobile/field_openid.tpl
@@ -0,0 +1,6 @@
+
+
+ $field.1
+
+ $field.3
+
diff --git a/view/theme/decaf-mobile/field_password.tpl b/view/theme/decaf-mobile/field_password.tpl
new file mode 100644
index 000000000..7a0d3fe9f
--- /dev/null
+++ b/view/theme/decaf-mobile/field_password.tpl
@@ -0,0 +1,6 @@
+
+
+ $field.1
+
+ $field.3
+
diff --git a/view/theme/decaf-mobile/field_themeselect.tpl b/view/theme/decaf-mobile/field_themeselect.tpl
new file mode 100644
index 000000000..5ac310f80
--- /dev/null
+++ b/view/theme/decaf-mobile/field_themeselect.tpl
@@ -0,0 +1,9 @@
+
+
+
$field.1
+
+ {{ for $field.4 as $opt=>$val }}$val {{ endfor }}
+
+
$field.3
+
+
diff --git a/view/theme/decaf-mobile/field_yesno.tpl b/view/theme/decaf-mobile/field_yesno.tpl
new file mode 100644
index 000000000..c399579b2
--- /dev/null
+++ b/view/theme/decaf-mobile/field_yesno.tpl
@@ -0,0 +1,14 @@
+{##}
+{{ inc field_checkbox.tpl }}{{ endinc }}
diff --git a/view/theme/decaf-mobile/file.gif b/view/theme/decaf-mobile/file.gif
new file mode 100644
index 000000000..7885b998d
Binary files /dev/null and b/view/theme/decaf-mobile/file.gif differ
diff --git a/view/theme/decaf-mobile/friendica-16.png b/view/theme/decaf-mobile/friendica-16.png
new file mode 100644
index 000000000..1a742ecdc
Binary files /dev/null and b/view/theme/decaf-mobile/friendica-16.png differ
diff --git a/view/theme/decaf-mobile/generic_links_widget.tpl b/view/theme/decaf-mobile/generic_links_widget.tpl
new file mode 100644
index 000000000..a976d4573
--- /dev/null
+++ b/view/theme/decaf-mobile/generic_links_widget.tpl
@@ -0,0 +1,12 @@
+
diff --git a/view/theme/decaf-mobile/group_drop.tpl b/view/theme/decaf-mobile/group_drop.tpl
new file mode 100644
index 000000000..959b77bb2
--- /dev/null
+++ b/view/theme/decaf-mobile/group_drop.tpl
@@ -0,0 +1,9 @@
+
+
diff --git a/view/theme/decaf-mobile/group_side.tpl b/view/theme/decaf-mobile/group_side.tpl
new file mode 100644
index 000000000..0b4564077
--- /dev/null
+++ b/view/theme/decaf-mobile/group_side.tpl
@@ -0,0 +1,33 @@
+
+
+
diff --git a/view/theme/decaf-mobile/head.jpg b/view/theme/decaf-mobile/head.jpg
new file mode 100644
index 000000000..6210b76be
Binary files /dev/null and b/view/theme/decaf-mobile/head.jpg differ
diff --git a/view/theme/decaf-mobile/head.tpl b/view/theme/decaf-mobile/head.tpl
new file mode 100644
index 000000000..5ad82b4c5
--- /dev/null
+++ b/view/theme/decaf-mobile/head.tpl
@@ -0,0 +1,29 @@
+
+{##}
+
+{##}
+
+
+
+{##}
+
+
+
+
+
+
+
diff --git a/view/theme/decaf-mobile/images/approve-blue.png b/view/theme/decaf-mobile/images/approve-blue.png
new file mode 100644
index 000000000..a13668a50
Binary files /dev/null and b/view/theme/decaf-mobile/images/approve-blue.png differ
diff --git a/view/theme/decaf-mobile/images/approve.png b/view/theme/decaf-mobile/images/approve.png
new file mode 100644
index 000000000..473c646e5
Binary files /dev/null and b/view/theme/decaf-mobile/images/approve.png differ
diff --git a/view/theme/decaf-mobile/images/arrow-left.png b/view/theme/decaf-mobile/images/arrow-left.png
new file mode 100644
index 000000000..a312cfa71
Binary files /dev/null and b/view/theme/decaf-mobile/images/arrow-left.png differ
diff --git a/view/theme/decaf-mobile/images/arrow-right.png b/view/theme/decaf-mobile/images/arrow-right.png
new file mode 100644
index 000000000..2be9bd746
Binary files /dev/null and b/view/theme/decaf-mobile/images/arrow-right.png differ
diff --git a/view/theme/decaf-mobile/images/boldB-serif.png b/view/theme/decaf-mobile/images/boldB-serif.png
new file mode 100644
index 000000000..78ce59a54
Binary files /dev/null and b/view/theme/decaf-mobile/images/boldB-serif.png differ
diff --git a/view/theme/decaf-mobile/images/camera.png b/view/theme/decaf-mobile/images/camera.png
new file mode 100644
index 000000000..aa5935b7c
Binary files /dev/null and b/view/theme/decaf-mobile/images/camera.png differ
diff --git a/view/theme/decaf-mobile/images/code.png b/view/theme/decaf-mobile/images/code.png
new file mode 100644
index 000000000..d490cea9d
Binary files /dev/null and b/view/theme/decaf-mobile/images/code.png differ
diff --git a/view/theme/decaf-mobile/images/contacts.png b/view/theme/decaf-mobile/images/contacts.png
new file mode 100644
index 000000000..e870470d0
Binary files /dev/null and b/view/theme/decaf-mobile/images/contacts.png differ
diff --git a/view/theme/decaf-mobile/images/disapprove-blue.png b/view/theme/decaf-mobile/images/disapprove-blue.png
new file mode 100644
index 000000000..ebbc7e4e6
Binary files /dev/null and b/view/theme/decaf-mobile/images/disapprove-blue.png differ
diff --git a/view/theme/decaf-mobile/images/disapprove.png b/view/theme/decaf-mobile/images/disapprove.png
new file mode 100644
index 000000000..fa58d020e
Binary files /dev/null and b/view/theme/decaf-mobile/images/disapprove.png differ
diff --git a/view/theme/decaf-mobile/images/drop-blue.png b/view/theme/decaf-mobile/images/drop-blue.png
new file mode 100644
index 000000000..a8b6c53c9
Binary files /dev/null and b/view/theme/decaf-mobile/images/drop-blue.png differ
diff --git a/view/theme/decaf-mobile/images/drop-darkred.png b/view/theme/decaf-mobile/images/drop-darkred.png
new file mode 100644
index 000000000..9657d1138
Binary files /dev/null and b/view/theme/decaf-mobile/images/drop-darkred.png differ
diff --git a/view/theme/decaf-mobile/images/drop-red.png b/view/theme/decaf-mobile/images/drop-red.png
new file mode 100644
index 000000000..91b0260ce
Binary files /dev/null and b/view/theme/decaf-mobile/images/drop-red.png differ
diff --git a/view/theme/decaf-mobile/images/drop.png b/view/theme/decaf-mobile/images/drop.png
new file mode 100644
index 000000000..af38adf5e
Binary files /dev/null and b/view/theme/decaf-mobile/images/drop.png differ
diff --git a/view/theme/decaf-mobile/images/folder-blue.png b/view/theme/decaf-mobile/images/folder-blue.png
new file mode 100644
index 000000000..6af9bbec0
Binary files /dev/null and b/view/theme/decaf-mobile/images/folder-blue.png differ
diff --git a/view/theme/decaf-mobile/images/folder.png b/view/theme/decaf-mobile/images/folder.png
new file mode 100644
index 000000000..86dd21029
Binary files /dev/null and b/view/theme/decaf-mobile/images/folder.png differ
diff --git a/view/theme/decaf-mobile/images/globe.png b/view/theme/decaf-mobile/images/globe.png
new file mode 100644
index 000000000..f84632bff
Binary files /dev/null and b/view/theme/decaf-mobile/images/globe.png differ
diff --git a/view/theme/decaf-mobile/images/italicI-serif.png b/view/theme/decaf-mobile/images/italicI-serif.png
new file mode 100644
index 000000000..86fa40f9c
Binary files /dev/null and b/view/theme/decaf-mobile/images/italicI-serif.png differ
diff --git a/view/theme/decaf-mobile/images/lock.png b/view/theme/decaf-mobile/images/lock.png
new file mode 100644
index 000000000..b8b8cd20e
Binary files /dev/null and b/view/theme/decaf-mobile/images/lock.png differ
diff --git a/view/theme/decaf-mobile/images/menu.png b/view/theme/decaf-mobile/images/menu.png
new file mode 100644
index 000000000..44d5285fe
Binary files /dev/null and b/view/theme/decaf-mobile/images/menu.png differ
diff --git a/view/theme/decaf-mobile/images/message.png b/view/theme/decaf-mobile/images/message.png
new file mode 100644
index 000000000..8f735aed0
Binary files /dev/null and b/view/theme/decaf-mobile/images/message.png differ
diff --git a/view/theme/decaf-mobile/images/network.png b/view/theme/decaf-mobile/images/network.png
new file mode 100644
index 000000000..943e3252f
Binary files /dev/null and b/view/theme/decaf-mobile/images/network.png differ
diff --git a/view/theme/decaf-mobile/images/noglobe.png b/view/theme/decaf-mobile/images/noglobe.png
new file mode 100644
index 000000000..b5aceb6d5
Binary files /dev/null and b/view/theme/decaf-mobile/images/noglobe.png differ
diff --git a/view/theme/decaf-mobile/images/notifications.png b/view/theme/decaf-mobile/images/notifications.png
new file mode 100644
index 000000000..27bacc672
Binary files /dev/null and b/view/theme/decaf-mobile/images/notifications.png differ
diff --git a/view/theme/decaf-mobile/images/oxygen/LICENSE b/view/theme/decaf-mobile/images/oxygen/LICENSE
new file mode 100644
index 000000000..65c5ca88a
--- /dev/null
+++ b/view/theme/decaf-mobile/images/oxygen/LICENSE
@@ -0,0 +1,165 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc.
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+
+ This version of the GNU Lesser General Public License incorporates
+the terms and conditions of version 3 of the GNU General Public
+License, supplemented by the additional permissions listed below.
+
+ 0. Additional Definitions.
+
+ As used herein, "this License" refers to version 3 of the GNU Lesser
+General Public License, and the "GNU GPL" refers to version 3 of the GNU
+General Public License.
+
+ "The Library" refers to a covered work governed by this License,
+other than an Application or a Combined Work as defined below.
+
+ An "Application" is any work that makes use of an interface provided
+by the Library, but which is not otherwise based on the Library.
+Defining a subclass of a class defined by the Library is deemed a mode
+of using an interface provided by the Library.
+
+ A "Combined Work" is a work produced by combining or linking an
+Application with the Library. The particular version of the Library
+with which the Combined Work was made is also called the "Linked
+Version".
+
+ The "Minimal Corresponding Source" for a Combined Work means the
+Corresponding Source for the Combined Work, excluding any source code
+for portions of the Combined Work that, considered in isolation, are
+based on the Application, and not on the Linked Version.
+
+ The "Corresponding Application Code" for a Combined Work means the
+object code and/or source code for the Application, including any data
+and utility programs needed for reproducing the Combined Work from the
+Application, but excluding the System Libraries of the Combined Work.
+
+ 1. Exception to Section 3 of the GNU GPL.
+
+ You may convey a covered work under sections 3 and 4 of this License
+without being bound by section 3 of the GNU GPL.
+
+ 2. Conveying Modified Versions.
+
+ If you modify a copy of the Library, and, in your modifications, a
+facility refers to a function or data to be supplied by an Application
+that uses the facility (other than as an argument passed when the
+facility is invoked), then you may convey a copy of the modified
+version:
+
+ a) under this License, provided that you make a good faith effort to
+ ensure that, in the event an Application does not supply the
+ function or data, the facility still operates, and performs
+ whatever part of its purpose remains meaningful, or
+
+ b) under the GNU GPL, with none of the additional permissions of
+ this License applicable to that copy.
+
+ 3. Object Code Incorporating Material from Library Header Files.
+
+ The object code form of an Application may incorporate material from
+a header file that is part of the Library. You may convey such object
+code under terms of your choice, provided that, if the incorporated
+material is not limited to numerical parameters, data structure
+layouts and accessors, or small macros, inline functions and templates
+(ten or fewer lines in length), you do both of the following:
+
+ a) Give prominent notice with each copy of the object code that the
+ Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the object code with a copy of the GNU GPL and this license
+ document.
+
+ 4. Combined Works.
+
+ You may convey a Combined Work under terms of your choice that,
+taken together, effectively do not restrict modification of the
+portions of the Library contained in the Combined Work and reverse
+engineering for debugging such modifications, if you also do each of
+the following:
+
+ a) Give prominent notice with each copy of the Combined Work that
+ the Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the Combined Work with a copy of the GNU GPL and this license
+ document.
+
+ c) For a Combined Work that displays copyright notices during
+ execution, include the copyright notice for the Library among
+ these notices, as well as a reference directing the user to the
+ copies of the GNU GPL and this license document.
+
+ d) Do one of the following:
+
+ 0) Convey the Minimal Corresponding Source under the terms of this
+ License, and the Corresponding Application Code in a form
+ suitable for, and under terms that permit, the user to
+ recombine or relink the Application with a modified version of
+ the Linked Version to produce a modified Combined Work, in the
+ manner specified by section 6 of the GNU GPL for conveying
+ Corresponding Source.
+
+ 1) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (a) uses at run time
+ a copy of the Library already present on the user's computer
+ system, and (b) will operate properly with a modified version
+ of the Library that is interface-compatible with the Linked
+ Version.
+
+ e) Provide Installation Information, but only if you would otherwise
+ be required to provide such information under section 6 of the
+ GNU GPL, and only to the extent that such information is
+ necessary to install and execute a modified version of the
+ Combined Work produced by recombining or relinking the
+ Application with a modified version of the Linked Version. (If
+ you use option 4d0, the Installation Information must accompany
+ the Minimal Corresponding Source and Corresponding Application
+ Code. If you use option 4d1, you must provide the Installation
+ Information in the manner specified by section 6 of the GNU GPL
+ for conveying Corresponding Source.)
+
+ 5. Combined Libraries.
+
+ You may place library facilities that are a work based on the
+Library side by side in a single library together with other library
+facilities that are not Applications and are not covered by this
+License, and convey such a combined library under terms of your
+choice, if you do both of the following:
+
+ a) Accompany the combined library with a copy of the same work based
+ on the Library, uncombined with any other library facilities,
+ conveyed under the terms of this License.
+
+ b) Give prominent notice with the combined library that part of it
+ is a work based on the Library, and explaining where to find the
+ accompanying uncombined form of the same work.
+
+ 6. Revised Versions of the GNU Lesser General Public License.
+
+ The Free Software Foundation may publish revised and/or new versions
+of the GNU Lesser General Public License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Library as you received it specifies that a certain numbered version
+of the GNU Lesser General Public License "or any later version"
+applies to it, you have the option of following the terms and
+conditions either of that published version or of any later version
+published by the Free Software Foundation. If the Library as you
+received it does not specify a version number of the GNU Lesser
+General Public License, you may choose any version of the GNU Lesser
+General Public License ever published by the Free Software Foundation.
+
+ If the Library as you received it specifies that a proxy can decide
+whether future versions of the GNU Lesser General Public License shall
+apply, that proxy's public statement of acceptance of any version is
+permanent authorization for you to choose that version for the
+Library.
diff --git a/view/theme/decaf-mobile/images/oxygen/application-msword.png b/view/theme/decaf-mobile/images/oxygen/application-msword.png
new file mode 100644
index 000000000..aa5aaf31a
Binary files /dev/null and b/view/theme/decaf-mobile/images/oxygen/application-msword.png differ
diff --git a/view/theme/decaf-mobile/images/oxygen/application-pdf.png b/view/theme/decaf-mobile/images/oxygen/application-pdf.png
new file mode 100644
index 000000000..bc954ff64
Binary files /dev/null and b/view/theme/decaf-mobile/images/oxygen/application-pdf.png differ
diff --git a/view/theme/decaf-mobile/images/oxygen/application-vnd.ms-excel.png b/view/theme/decaf-mobile/images/oxygen/application-vnd.ms-excel.png
new file mode 100644
index 000000000..aa0d99597
Binary files /dev/null and b/view/theme/decaf-mobile/images/oxygen/application-vnd.ms-excel.png differ
diff --git a/view/theme/decaf-mobile/images/oxygen/application-vnd.ms-powerpoint.png b/view/theme/decaf-mobile/images/oxygen/application-vnd.ms-powerpoint.png
new file mode 100644
index 000000000..022b5152e
Binary files /dev/null and b/view/theme/decaf-mobile/images/oxygen/application-vnd.ms-powerpoint.png differ
diff --git a/view/theme/decaf-mobile/images/oxygen/application-vnd.oasis.opendocument.presentation.png b/view/theme/decaf-mobile/images/oxygen/application-vnd.oasis.opendocument.presentation.png
new file mode 100644
index 000000000..cb573b5c7
Binary files /dev/null and b/view/theme/decaf-mobile/images/oxygen/application-vnd.oasis.opendocument.presentation.png differ
diff --git a/view/theme/decaf-mobile/images/oxygen/application-vnd.oasis.opendocument.spreadsheet.png b/view/theme/decaf-mobile/images/oxygen/application-vnd.oasis.opendocument.spreadsheet.png
new file mode 100644
index 000000000..6b8030edd
Binary files /dev/null and b/view/theme/decaf-mobile/images/oxygen/application-vnd.oasis.opendocument.spreadsheet.png differ
diff --git a/view/theme/decaf-mobile/images/oxygen/application-vnd.oasis.opendocument.text.png b/view/theme/decaf-mobile/images/oxygen/application-vnd.oasis.opendocument.text.png
new file mode 100644
index 000000000..1adb56e25
Binary files /dev/null and b/view/theme/decaf-mobile/images/oxygen/application-vnd.oasis.opendocument.text.png differ
diff --git a/view/theme/decaf-mobile/images/oxygen/application-x-bzip-compressed-tar.png b/view/theme/decaf-mobile/images/oxygen/application-x-bzip-compressed-tar.png
new file mode 100644
index 000000000..d7dd1d1fb
Binary files /dev/null and b/view/theme/decaf-mobile/images/oxygen/application-x-bzip-compressed-tar.png differ
diff --git a/view/theme/decaf-mobile/images/oxygen/application-x-compressed-tar.png b/view/theme/decaf-mobile/images/oxygen/application-x-compressed-tar.png
new file mode 100644
index 000000000..adda68505
Binary files /dev/null and b/view/theme/decaf-mobile/images/oxygen/application-x-compressed-tar.png differ
diff --git a/view/theme/decaf-mobile/images/oxygen/application-x-deb.png b/view/theme/decaf-mobile/images/oxygen/application-x-deb.png
new file mode 100644
index 000000000..1832d3b73
Binary files /dev/null and b/view/theme/decaf-mobile/images/oxygen/application-x-deb.png differ
diff --git a/view/theme/decaf-mobile/images/oxygen/application-x-font-otf.png b/view/theme/decaf-mobile/images/oxygen/application-x-font-otf.png
new file mode 100644
index 000000000..68fb5dd01
Binary files /dev/null and b/view/theme/decaf-mobile/images/oxygen/application-x-font-otf.png differ
diff --git a/view/theme/decaf-mobile/images/oxygen/application-x-font-ttf.png b/view/theme/decaf-mobile/images/oxygen/application-x-font-ttf.png
new file mode 100644
index 000000000..93b92fb26
Binary files /dev/null and b/view/theme/decaf-mobile/images/oxygen/application-x-font-ttf.png differ
diff --git a/view/theme/decaf-mobile/images/oxygen/application-x-java-archive.png b/view/theme/decaf-mobile/images/oxygen/application-x-java-archive.png
new file mode 100644
index 000000000..4883b2d7a
Binary files /dev/null and b/view/theme/decaf-mobile/images/oxygen/application-x-java-archive.png differ
diff --git a/view/theme/decaf-mobile/images/oxygen/application-x-lzma-compressed-tar.png b/view/theme/decaf-mobile/images/oxygen/application-x-lzma-compressed-tar.png
new file mode 100644
index 000000000..6092aedd3
Binary files /dev/null and b/view/theme/decaf-mobile/images/oxygen/application-x-lzma-compressed-tar.png differ
diff --git a/view/theme/decaf-mobile/images/oxygen/application-x-php.png b/view/theme/decaf-mobile/images/oxygen/application-x-php.png
new file mode 100644
index 000000000..f133c87a2
Binary files /dev/null and b/view/theme/decaf-mobile/images/oxygen/application-x-php.png differ
diff --git a/view/theme/decaf-mobile/images/oxygen/application-x-rar.png b/view/theme/decaf-mobile/images/oxygen/application-x-rar.png
new file mode 100644
index 000000000..a9b1b12a6
Binary files /dev/null and b/view/theme/decaf-mobile/images/oxygen/application-x-rar.png differ
diff --git a/view/theme/decaf-mobile/images/oxygen/application-x-rpm.png b/view/theme/decaf-mobile/images/oxygen/application-x-rpm.png
new file mode 100644
index 000000000..43149f17e
Binary files /dev/null and b/view/theme/decaf-mobile/images/oxygen/application-x-rpm.png differ
diff --git a/view/theme/decaf-mobile/images/oxygen/application-x-ruby.png b/view/theme/decaf-mobile/images/oxygen/application-x-ruby.png
new file mode 100644
index 000000000..e640ead73
Binary files /dev/null and b/view/theme/decaf-mobile/images/oxygen/application-x-ruby.png differ
diff --git a/view/theme/decaf-mobile/images/oxygen/application-x-shellscript.png b/view/theme/decaf-mobile/images/oxygen/application-x-shellscript.png
new file mode 100644
index 000000000..11e27543f
Binary files /dev/null and b/view/theme/decaf-mobile/images/oxygen/application-x-shellscript.png differ
diff --git a/view/theme/decaf-mobile/images/oxygen/application-x-shockwave-flash.png b/view/theme/decaf-mobile/images/oxygen/application-x-shockwave-flash.png
new file mode 100644
index 000000000..ea9ca59ee
Binary files /dev/null and b/view/theme/decaf-mobile/images/oxygen/application-x-shockwave-flash.png differ
diff --git a/view/theme/decaf-mobile/images/oxygen/application-x-tar.png b/view/theme/decaf-mobile/images/oxygen/application-x-tar.png
new file mode 100644
index 000000000..4b7d023f7
Binary files /dev/null and b/view/theme/decaf-mobile/images/oxygen/application-x-tar.png differ
diff --git a/view/theme/decaf-mobile/images/oxygen/application-xml.png b/view/theme/decaf-mobile/images/oxygen/application-xml.png
new file mode 100644
index 000000000..58d32e438
Binary files /dev/null and b/view/theme/decaf-mobile/images/oxygen/application-xml.png differ
diff --git a/view/theme/decaf-mobile/images/oxygen/application-zip.png b/view/theme/decaf-mobile/images/oxygen/application-zip.png
new file mode 100644
index 000000000..9d349a89a
Binary files /dev/null and b/view/theme/decaf-mobile/images/oxygen/application-zip.png differ
diff --git a/view/theme/decaf-mobile/images/oxygen/audio-aac.png b/view/theme/decaf-mobile/images/oxygen/audio-aac.png
new file mode 100644
index 000000000..a2d5177d9
Binary files /dev/null and b/view/theme/decaf-mobile/images/oxygen/audio-aac.png differ
diff --git a/view/theme/decaf-mobile/images/oxygen/audio-mp4.png b/view/theme/decaf-mobile/images/oxygen/audio-mp4.png
new file mode 100644
index 000000000..ae5fd740f
Binary files /dev/null and b/view/theme/decaf-mobile/images/oxygen/audio-mp4.png differ
diff --git a/view/theme/decaf-mobile/images/oxygen/audio-mpeg.png b/view/theme/decaf-mobile/images/oxygen/audio-mpeg.png
new file mode 100644
index 000000000..5fe3a2359
Binary files /dev/null and b/view/theme/decaf-mobile/images/oxygen/audio-mpeg.png differ
diff --git a/view/theme/decaf-mobile/images/oxygen/audio-x-flac.png b/view/theme/decaf-mobile/images/oxygen/audio-x-flac.png
new file mode 100644
index 000000000..f2f11e863
Binary files /dev/null and b/view/theme/decaf-mobile/images/oxygen/audio-x-flac.png differ
diff --git a/view/theme/decaf-mobile/images/oxygen/audio-x-generic.png b/view/theme/decaf-mobile/images/oxygen/audio-x-generic.png
new file mode 100644
index 000000000..fe7b05277
Binary files /dev/null and b/view/theme/decaf-mobile/images/oxygen/audio-x-generic.png differ
diff --git a/view/theme/decaf-mobile/images/oxygen/audio-x-mp2.png b/view/theme/decaf-mobile/images/oxygen/audio-x-mp2.png
new file mode 100644
index 000000000..5ac790992
Binary files /dev/null and b/view/theme/decaf-mobile/images/oxygen/audio-x-mp2.png differ
diff --git a/view/theme/decaf-mobile/images/oxygen/audio-x-ms-wma.png b/view/theme/decaf-mobile/images/oxygen/audio-x-ms-wma.png
new file mode 100644
index 000000000..86cb3e51c
Binary files /dev/null and b/view/theme/decaf-mobile/images/oxygen/audio-x-ms-wma.png differ
diff --git a/view/theme/decaf-mobile/images/oxygen/audio-x-vorbis+ogg.png b/view/theme/decaf-mobile/images/oxygen/audio-x-vorbis+ogg.png
new file mode 100644
index 000000000..5ac790992
Binary files /dev/null and b/view/theme/decaf-mobile/images/oxygen/audio-x-vorbis+ogg.png differ
diff --git a/view/theme/decaf-mobile/images/oxygen/audio-x-wav.png b/view/theme/decaf-mobile/images/oxygen/audio-x-wav.png
new file mode 100644
index 000000000..101f8fe5b
Binary files /dev/null and b/view/theme/decaf-mobile/images/oxygen/audio-x-wav.png differ
diff --git a/view/theme/decaf-mobile/images/oxygen/image-x-generic.png b/view/theme/decaf-mobile/images/oxygen/image-x-generic.png
new file mode 100644
index 000000000..d1d4e256c
Binary files /dev/null and b/view/theme/decaf-mobile/images/oxygen/image-x-generic.png differ
diff --git a/view/theme/decaf-mobile/images/oxygen/text-css.png b/view/theme/decaf-mobile/images/oxygen/text-css.png
new file mode 100644
index 000000000..119aec52c
Binary files /dev/null and b/view/theme/decaf-mobile/images/oxygen/text-css.png differ
diff --git a/view/theme/decaf-mobile/images/oxygen/text-html.png b/view/theme/decaf-mobile/images/oxygen/text-html.png
new file mode 100644
index 000000000..34768bfbe
Binary files /dev/null and b/view/theme/decaf-mobile/images/oxygen/text-html.png differ
diff --git a/view/theme/decaf-mobile/images/oxygen/text-x-generic-2.png b/view/theme/decaf-mobile/images/oxygen/text-x-generic-2.png
new file mode 100644
index 000000000..70be9bfc3
Binary files /dev/null and b/view/theme/decaf-mobile/images/oxygen/text-x-generic-2.png differ
diff --git a/view/theme/decaf-mobile/images/oxygen/text-x-tex.png b/view/theme/decaf-mobile/images/oxygen/text-x-tex.png
new file mode 100644
index 000000000..23d8bf7ca
Binary files /dev/null and b/view/theme/decaf-mobile/images/oxygen/text-x-tex.png differ
diff --git a/view/theme/decaf-mobile/images/oxygen/unknown.png b/view/theme/decaf-mobile/images/oxygen/unknown.png
new file mode 100644
index 000000000..eb1758ae1
Binary files /dev/null and b/view/theme/decaf-mobile/images/oxygen/unknown.png differ
diff --git a/view/theme/decaf-mobile/images/oxygen/video-x-generic.png b/view/theme/decaf-mobile/images/oxygen/video-x-generic.png
new file mode 100644
index 000000000..81fe23e7e
Binary files /dev/null and b/view/theme/decaf-mobile/images/oxygen/video-x-generic.png differ
diff --git a/view/theme/decaf-mobile/images/paperclip.png b/view/theme/decaf-mobile/images/paperclip.png
new file mode 100644
index 000000000..3a2ee2696
Binary files /dev/null and b/view/theme/decaf-mobile/images/paperclip.png differ
diff --git a/view/theme/decaf-mobile/images/pencil-blue.png b/view/theme/decaf-mobile/images/pencil-blue.png
new file mode 100644
index 000000000..f51ddd4fe
Binary files /dev/null and b/view/theme/decaf-mobile/images/pencil-blue.png differ
diff --git a/view/theme/decaf-mobile/images/pencil.png b/view/theme/decaf-mobile/images/pencil.png
new file mode 100644
index 000000000..8078d3083
Binary files /dev/null and b/view/theme/decaf-mobile/images/pencil.png differ
diff --git a/view/theme/decaf-mobile/images/quote.png b/view/theme/decaf-mobile/images/quote.png
new file mode 100644
index 000000000..93127c5e7
Binary files /dev/null and b/view/theme/decaf-mobile/images/quote.png differ
diff --git a/view/theme/decaf-mobile/images/recycle-blue.png b/view/theme/decaf-mobile/images/recycle-blue.png
new file mode 100644
index 000000000..4129f05cd
Binary files /dev/null and b/view/theme/decaf-mobile/images/recycle-blue.png differ
diff --git a/view/theme/decaf-mobile/images/recycle.png b/view/theme/decaf-mobile/images/recycle.png
new file mode 100644
index 000000000..e5d8e1181
Binary files /dev/null and b/view/theme/decaf-mobile/images/recycle.png differ
diff --git a/view/theme/decaf-mobile/images/remote-link-blue.png b/view/theme/decaf-mobile/images/remote-link-blue.png
new file mode 100644
index 000000000..de8d21db6
Binary files /dev/null and b/view/theme/decaf-mobile/images/remote-link-blue.png differ
diff --git a/view/theme/decaf-mobile/images/remote-link.png b/view/theme/decaf-mobile/images/remote-link.png
new file mode 100644
index 000000000..1f657411a
Binary files /dev/null and b/view/theme/decaf-mobile/images/remote-link.png differ
diff --git a/view/theme/decaf-mobile/images/star-blue.png b/view/theme/decaf-mobile/images/star-blue.png
new file mode 100644
index 000000000..f8783fcda
Binary files /dev/null and b/view/theme/decaf-mobile/images/star-blue.png differ
diff --git a/view/theme/decaf-mobile/images/star-yellow.png b/view/theme/decaf-mobile/images/star-yellow.png
new file mode 100644
index 000000000..cc2b884b2
Binary files /dev/null and b/view/theme/decaf-mobile/images/star-yellow.png differ
diff --git a/view/theme/decaf-mobile/images/star.png b/view/theme/decaf-mobile/images/star.png
new file mode 100644
index 000000000..f8a61a497
Binary files /dev/null and b/view/theme/decaf-mobile/images/star.png differ
diff --git a/view/theme/decaf-mobile/images/tag-blue.png b/view/theme/decaf-mobile/images/tag-blue.png
new file mode 100644
index 000000000..6e5cec80e
Binary files /dev/null and b/view/theme/decaf-mobile/images/tag-blue.png differ
diff --git a/view/theme/decaf-mobile/images/tag.png b/view/theme/decaf-mobile/images/tag.png
new file mode 100644
index 000000000..9c644b823
Binary files /dev/null and b/view/theme/decaf-mobile/images/tag.png differ
diff --git a/view/theme/decaf-mobile/images/underlineU-serif.png b/view/theme/decaf-mobile/images/underlineU-serif.png
new file mode 100644
index 000000000..745ca2cd6
Binary files /dev/null and b/view/theme/decaf-mobile/images/underlineU-serif.png differ
diff --git a/view/theme/decaf-mobile/images/unlock.png b/view/theme/decaf-mobile/images/unlock.png
new file mode 100644
index 000000000..81d9740e8
Binary files /dev/null and b/view/theme/decaf-mobile/images/unlock.png differ
diff --git a/view/theme/decaf-mobile/jot-end.tpl b/view/theme/decaf-mobile/jot-end.tpl
new file mode 100644
index 000000000..59585d01d
--- /dev/null
+++ b/view/theme/decaf-mobile/jot-end.tpl
@@ -0,0 +1,5 @@
+
+
+{##}
diff --git a/view/theme/decaf-mobile/jot-header.tpl b/view/theme/decaf-mobile/jot-header.tpl
new file mode 100644
index 000000000..c239aeecd
--- /dev/null
+++ b/view/theme/decaf-mobile/jot-header.tpl
@@ -0,0 +1,17 @@
+
+
+
diff --git a/view/theme/decaf-mobile/jot.tpl b/view/theme/decaf-mobile/jot.tpl
new file mode 100644
index 000000000..697a7c809
--- /dev/null
+++ b/view/theme/decaf-mobile/jot.tpl
@@ -0,0 +1,99 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ if $placeholdercategory }}
+
+ {{ endif }}
+
+ {##}
+ {{ if $content }}$content{{ endif }}
+
+
+
+
+
+
+
+
+
+
+
+
+ {##}
+ {##}
+
+ {##}
+
+
+
+
+
+ $jotplugins
+
+
+
+
+ {##}
+
+ {##}
+ {{ if $acl_data }}
+ {{ inc acl_html_selector.tpl }}{{ endinc }}
+ {{ endif }}
+ $jotnets
+
+ {##}
+
+
+
+
+
+
+
+ {##}
+
diff --git a/view/theme/decaf-mobile/jot_geotag.tpl b/view/theme/decaf-mobile/jot_geotag.tpl
new file mode 100644
index 000000000..3f8bee91a
--- /dev/null
+++ b/view/theme/decaf-mobile/jot_geotag.tpl
@@ -0,0 +1,11 @@
+
+ if(navigator.geolocation) {
+ navigator.geolocation.getCurrentPosition(function(position) {
+ var lat = position.coords.latitude.toFixed(4);
+ var lon = position.coords.longitude.toFixed(4);
+
+ $j('#jot-coord').val(lat + ', ' + lon);
+ $j('#profile-nolocation-wrapper').show();
+ });
+ }
+
diff --git a/view/theme/decaf-mobile/js/theme.js b/view/theme/decaf-mobile/js/theme.js
new file mode 100644
index 000000000..cd9a17f0d
--- /dev/null
+++ b/view/theme/decaf-mobile/js/theme.js
@@ -0,0 +1,77 @@
+// For Firefox < 3.6, which doesn't support document.readyState
+// verify that document.readyState is undefined
+// verify that document.addEventListener is there
+// these two conditions are basically telling us
+// we are using Firefox < 3.6
+/*if(document.readyState == null && document.addEventListener){
+ // on DOMContentLoaded event, supported since ages
+ document.addEventListener("DOMContentLoaded", function DOMContentLoaded(){
+ // remove the listener itself
+ document.removeEventListener("DOMContentLoaded", DOMContentLoaded, false);
+ // assign readyState as complete
+ document.readyState = "complete";
+ }, false);
+ // set readyState = loading or interactive
+ // it does not really matter for this purpose
+ document.readyState = "loading";
+}*/
+
+document.addEventListener('DOMContentLoaded', function(){
+
+ if(typeof window.AjaxUpload != "undefined") {
+ var uploader = new window.AjaxUpload(
+ window.imageUploadButton,
+ { action: 'wall_upload/'+window.nickname,
+ name: 'userfile',
+ onSubmit: function(file,ext) { $j('#profile-rotator').show(); },
+ onComplete: function(file,response) {
+ var currentText = $j(window.jotId).val();
+ $j(window.jotId).val(currentText + response);
+ $j('#profile-rotator').hide();
+ }
+ }
+ );
+
+ if(document.getElementById('wall-file-upload') != null) {
+ var file_uploader = new window.AjaxUpload(
+ 'wall-file-upload',
+ { action: 'wall_attach/'+window.nickname,
+ name: 'userfile',
+ onSubmit: function(file,ext) { $j('#profile-rotator').show(); },
+ onComplete: function(file,response) {
+ var currentText = $j(window.jotId).val();
+ $j(window.jotId).val(currentText + response);
+ $j('#profile-rotator').hide();
+ }
+ }
+ );
+ }
+ }
+
+});
+
+function confirmDelete(f) {
+ response = confirm(window.delItem);
+ if(response && typeof f == 'function') {
+ f();
+ }
+ return response;
+}
+
+function changeHref(elemId, url) {
+ elem = document.getElementById(elemId);
+ elem.href = url;
+}
+
+function remove(elemId) {
+ elem = document.getElementById(elemId);
+ elem.parentNode.removeChild(elem);
+}
+
+function openClose(el) {}
+
+// It's better to separate Javascript from the HTML, but the wall_thread
+// items require more work to find since they contain the item ID in the id field
+//document.getElementById('photo-album-edit-drop').onclick = function(){return confirmDelete(function(){remove('photo-album-edit-form-confirm');});}
+//document.getElementById('photo-edit-delete-button').onclick = function(){return confirmDelete(function(){remove('photo-edit-form-confirm');});}
+
diff --git a/view/theme/decaf-mobile/lang_selector.tpl b/view/theme/decaf-mobile/lang_selector.tpl
new file mode 100644
index 000000000..e777a0a86
--- /dev/null
+++ b/view/theme/decaf-mobile/lang_selector.tpl
@@ -0,0 +1,10 @@
+
+
+
+
+ {{ for $langs.0 as $v=>$l }}
+ $l
+ {{ endfor }}
+
+
+
diff --git a/view/theme/decaf-mobile/like_noshare.tpl b/view/theme/decaf-mobile/like_noshare.tpl
new file mode 100644
index 000000000..5e74850a7
--- /dev/null
+++ b/view/theme/decaf-mobile/like_noshare.tpl
@@ -0,0 +1,7 @@
+
diff --git a/view/theme/decaf-mobile/lock.cur b/view/theme/decaf-mobile/lock.cur
new file mode 100644
index 000000000..892c5e851
Binary files /dev/null and b/view/theme/decaf-mobile/lock.cur differ
diff --git a/view/theme/decaf-mobile/login-bg.gif b/view/theme/decaf-mobile/login-bg.gif
new file mode 100644
index 000000000..cde836c89
Binary files /dev/null and b/view/theme/decaf-mobile/login-bg.gif differ
diff --git a/view/theme/decaf-mobile/login-style.css b/view/theme/decaf-mobile/login-style.css
new file mode 100644
index 000000000..bbb60ebab
--- /dev/null
+++ b/view/theme/decaf-mobile/login-style.css
@@ -0,0 +1,180 @@
+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; }
+
+nav {
+ display: none;
+}
+
+/* popup notifications */
+div.jGrowl div.notice {
+ background: #511919 url("../../../images/icons/48/notice.png") no-repeat 5px center;
+ color: #ffffff;
+ padding-left: 58px;
+ margin: 0px;
+}
+div.jGrowl div.info {
+ background: #364e59 url("../../../images/icons/48/info.png") no-repeat 5px center;
+ color: #ffffff;
+ padding-left: 58px;
+ margin: 0px;
+}
+#jGrowl.top-right {
+ top: 15px;
+ right: 10px;
+}
+div.jGrowl-notification {
+ border-radius: 7px;
+}
+
+.login-button {
+ margin-top: 90px;
+ margin-left: auto;
+ margin-right: auto;
+
+}
+
+img.login-button-image {
+ max-width: 300px;
+}
+
+div.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;
+ float: none;
+ width: auto;
+}
+
+.field input {
+ font-size: 18px;
+ width: 200px;
+ margin-left: 50px;
+}
+
+.field.checkbox label {
+ margin-left: auto;
+ float: auto;
+ /*margin-left: 100px;*/
+}
+.field.checkbox input {
+ width: auto;
+ margin-left: 30px;
+}
+
+#div_id_remember {
+ margin-top: 10px;
+ margin-bottom: 10px;
+}
+
+#login_openid {
+ margin-top: 50px;
+}
+
+#login_openid input {
+ background: url(login-bg.gif) no-repeat;
+ background-position: 0 50%;
+ width: 182px;
+ padding-left: 18px;
+ margin-left: 50px;
+}
+
+#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;
+}
+
+footer {
+ text-align: center;
+ padding-top: 3em;
+ padding-bottom: 1em;
+}
diff --git a/view/theme/decaf-mobile/login.tpl b/view/theme/decaf-mobile/login.tpl
new file mode 100644
index 000000000..926ab769d
--- /dev/null
+++ b/view/theme/decaf-mobile/login.tpl
@@ -0,0 +1,45 @@
+
+
+
+{##}
diff --git a/view/theme/decaf-mobile/login_head.tpl b/view/theme/decaf-mobile/login_head.tpl
new file mode 100644
index 000000000..14734821c
--- /dev/null
+++ b/view/theme/decaf-mobile/login_head.tpl
@@ -0,0 +1,2 @@
+{##}
+
diff --git a/view/theme/decaf-mobile/lostpass.tpl b/view/theme/decaf-mobile/lostpass.tpl
new file mode 100644
index 000000000..583e3dbaf
--- /dev/null
+++ b/view/theme/decaf-mobile/lostpass.tpl
@@ -0,0 +1,21 @@
+
diff --git a/view/theme/decaf-mobile/mail_conv.tpl b/view/theme/decaf-mobile/mail_conv.tpl
new file mode 100644
index 000000000..7aac8370b
--- /dev/null
+++ b/view/theme/decaf-mobile/mail_conv.tpl
@@ -0,0 +1,18 @@
+
+
+
+
+
+
$mail.from_name
+
$mail.date
+
$mail.subject
+
+
$mail.body
+
+
+
+
+
+
+
+
diff --git a/view/theme/decaf-mobile/mail_list.tpl b/view/theme/decaf-mobile/mail_list.tpl
new file mode 100644
index 000000000..74274a246
--- /dev/null
+++ b/view/theme/decaf-mobile/mail_list.tpl
@@ -0,0 +1,16 @@
+
+
+
+
+
+
$from_name
+
$date
+
+
+
+
+
+
+
diff --git a/view/theme/decaf-mobile/manage.tpl b/view/theme/decaf-mobile/manage.tpl
new file mode 100644
index 000000000..fec30db9b
--- /dev/null
+++ b/view/theme/decaf-mobile/manage.tpl
@@ -0,0 +1,18 @@
+$title
+$desc
+$choose
+
+
diff --git a/view/theme/decaf-mobile/message-end.tpl b/view/theme/decaf-mobile/message-end.tpl
new file mode 100644
index 000000000..fea596360
--- /dev/null
+++ b/view/theme/decaf-mobile/message-end.tpl
@@ -0,0 +1,4 @@
+{##}
diff --git a/view/theme/decaf-mobile/message-head.tpl b/view/theme/decaf-mobile/message-head.tpl
new file mode 100644
index 000000000..e69de29bb
diff --git a/view/theme/decaf-mobile/mobile b/view/theme/decaf-mobile/mobile
new file mode 100644
index 000000000..e69de29bb
diff --git a/view/theme/decaf-mobile/msg-end.tpl b/view/theme/decaf-mobile/msg-end.tpl
new file mode 100644
index 000000000..607413379
--- /dev/null
+++ b/view/theme/decaf-mobile/msg-end.tpl
@@ -0,0 +1,2 @@
+
+
diff --git a/view/theme/decaf-mobile/msg-header.tpl b/view/theme/decaf-mobile/msg-header.tpl
new file mode 100644
index 000000000..9ccf5d6fa
--- /dev/null
+++ b/view/theme/decaf-mobile/msg-header.tpl
@@ -0,0 +1,10 @@
+
+
+
diff --git a/view/theme/decaf-mobile/nav.tpl b/view/theme/decaf-mobile/nav.tpl
new file mode 100644
index 000000000..45b7beeef
--- /dev/null
+++ b/view/theme/decaf-mobile/nav.tpl
@@ -0,0 +1,155 @@
+
+{##}
+
+{##}
+
+
+
+{##}
+
+
+ {{ if $nav.notifications }}
+{##}
+
+ {{ endif }}
+
+{##}
+ {{ if $nav.contacts }}
+
+ {{ endif }}
+
+ {{ if $nav.messages }}
+{##}
+
+ {{ endif }}
+
+{##}
+ {{ if $nav.network }}
+
+ {{ endif }}
+
+
+
+ {##}
+ $banner
+
+
+{##}
diff --git a/view/theme/decaf-mobile/photo_drop.tpl b/view/theme/decaf-mobile/photo_drop.tpl
new file mode 100644
index 000000000..296b82909
--- /dev/null
+++ b/view/theme/decaf-mobile/photo_drop.tpl
@@ -0,0 +1,4 @@
+
+
diff --git a/view/theme/decaf-mobile/photo_edit.tpl b/view/theme/decaf-mobile/photo_edit.tpl
new file mode 100644
index 000000000..5bfa37c36
--- /dev/null
+++ b/view/theme/decaf-mobile/photo_edit.tpl
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
+ $newalbum
+
+
+
+
+
+
+ $capt_label
+
+
+
+
+
+
+ $tag_label
+
+
+
+
+
+
+ $rotatecw
+
+
+
+
+ $rotateccw
+
+
+
+
+
+ {##}
+
+ {##}
+ {{ inc acl_html_selector.tpl }}{{ endinc }}
+
+ {##}
+
+
+
+
+
+
+
+
+
+
diff --git a/view/theme/decaf-mobile/photo_edit_head.tpl b/view/theme/decaf-mobile/photo_edit_head.tpl
new file mode 100644
index 000000000..c819e24ce
--- /dev/null
+++ b/view/theme/decaf-mobile/photo_edit_head.tpl
@@ -0,0 +1,7 @@
+{##}
diff --git a/view/theme/decaf-mobile/photo_view.tpl b/view/theme/decaf-mobile/photo_view.tpl
new file mode 100644
index 000000000..329e0a4e0
--- /dev/null
+++ b/view/theme/decaf-mobile/photo_view.tpl
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+ {{ 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/decaf-mobile/photos_head.tpl b/view/theme/decaf-mobile/photos_head.tpl
new file mode 100644
index 000000000..5c13a0ae6
--- /dev/null
+++ b/view/theme/decaf-mobile/photos_head.tpl
@@ -0,0 +1,5 @@
+{##}
diff --git a/view/theme/decaf-mobile/photos_upload.tpl b/view/theme/decaf-mobile/photos_upload.tpl
new file mode 100644
index 000000000..31ad46801
--- /dev/null
+++ b/view/theme/decaf-mobile/photos_upload.tpl
@@ -0,0 +1,51 @@
+$pagename
+
+$usage
+
+
+
+
+
+
$existalbumtext
+
+ $albumselect
+
+
+
+
+ $default_upload_box
+
+
+
+ $nosharetext
+
+
+
+ {##}
+
+ {##}
+ {{ inc acl_html_selector.tpl }}{{ endinc }}
+
+ {##}
+
+
+
+ $alt_uploader
+
+ $default_upload_submit
+
+
+
+
diff --git a/view/theme/decaf-mobile/profed_end.tpl b/view/theme/decaf-mobile/profed_end.tpl
new file mode 100644
index 000000000..ff56fda46
--- /dev/null
+++ b/view/theme/decaf-mobile/profed_end.tpl
@@ -0,0 +1,8 @@
+{##}
diff --git a/view/theme/decaf-mobile/profed_head.tpl b/view/theme/decaf-mobile/profed_head.tpl
new file mode 100644
index 000000000..02fd46aa4
--- /dev/null
+++ b/view/theme/decaf-mobile/profed_head.tpl
@@ -0,0 +1,5 @@
+{##}
diff --git a/view/theme/decaf-mobile/profile_edit.tpl b/view/theme/decaf-mobile/profile_edit.tpl
new file mode 100644
index 000000000..bed1de35a
--- /dev/null
+++ b/view/theme/decaf-mobile/profile_edit.tpl
@@ -0,0 +1,324 @@
+$default
+
+$banner
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+$lbl_fullname
+
+
+
+
+
+$lbl_title
+
+
+
+
+
+
+$lbl_gender
+$gender
+
+
+
+
+
$lbl_bd
+
+$dob $age
+
+
+
+
+$hide_friends
+
+
+
+
+
+
+
+
+$lbl_address
+
+
+
+
+
+$lbl_city
+
+
+
+
+
+
+$lbl_zip
+
+
+
+
+
+$lbl_country
+
+{##}
+
+
+
+
+$lbl_region
+
+{##}
+
+
+
+
+$lbl_hometown
+
+
+
+
+
+
+
+
+
+
+$lbl_marital
+$marital
+
+ $lbl_with
+
+ $lbl_howlong
+
+
+
+
+
+$lbl_sexual
+$sexual
+
+
+
+
+
+
+$lbl_homepage
+
+
+
+
+
+$lbl_politic
+
+
+
+
+
+$lbl_religion
+
+
+
+
+
+$lbl_pubkey
+
+
$lbl_pubdsc
+
+
+
+$lbl_prvkey
+
+
$lbl_prvdsc
+
+
+
+
+
+
+
+
+
+
+$lbl_about
+
+
+
$about
+
+
+
+
+
+
+
+$lbl_hobbies
+
+
+
$interest
+
+
+
+
+
+
+
+$lbl_likes
+
+
+
$likes
+
+
+
+
+
+
+
+$lbl_dislikes
+
+
+
$dislikes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+$lbl_music
+
+
+
$music
+
+
+
+
+
+
+$lbl_book
+
+
+
$book
+
+
+
+
+
+
+
+
+
+
+
+
+
+$lbl_film
+
+
+
$film
+
+
+
+
+
+
+
+
+
+
+
+
+
+$lbl_love
+
+
+
$romance
+
+
+
+
+
+
+
+
+$lbl_work
+
+
+
$work
+
+
+
+
+
+
+
+
+$lbl_school
+
+
+
$education
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/view/theme/decaf-mobile/profile_photo.tpl b/view/theme/decaf-mobile/profile_photo.tpl
new file mode 100644
index 000000000..42fc139f8
--- /dev/null
+++ b/view/theme/decaf-mobile/profile_photo.tpl
@@ -0,0 +1,19 @@
+$title
+
+
+
+
+
+$lbl_upfile
+
+
+
+
+
+
+
+
+
+
+$select
+
diff --git a/view/theme/decaf-mobile/profile_vcard.tpl b/view/theme/decaf-mobile/profile_vcard.tpl
new file mode 100644
index 000000000..e91e6125f
--- /dev/null
+++ b/view/theme/decaf-mobile/profile_vcard.tpl
@@ -0,0 +1,51 @@
+
+
+
$profile.name
+
+
+
+ {{ if $pdesc }}
$profile.pdesc
{{ endif }}
+
+
+
+
+ {{ 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 }}
$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/decaf-mobile/prv_message.tpl b/view/theme/decaf-mobile/prv_message.tpl
new file mode 100644
index 000000000..5d9925297
--- /dev/null
+++ b/view/theme/decaf-mobile/prv_message.tpl
@@ -0,0 +1,43 @@
+
+$header
+
+
+
+
+$parent
+
+$to
+
+{{ if $showinputs }}
+
+
+{{ else }}
+$select
+{{ endif }}
+
+$subject
+
+
+$yourmessage
+$text
+
+
+
+
+
+ {##}
+
+
+
+
+
+
+
+
+
diff --git a/view/theme/decaf-mobile/register.tpl b/view/theme/decaf-mobile/register.tpl
new file mode 100644
index 000000000..b1f39048e
--- /dev/null
+++ b/view/theme/decaf-mobile/register.tpl
@@ -0,0 +1,80 @@
+
diff --git a/view/theme/decaf-mobile/screenshot.jpg b/view/theme/decaf-mobile/screenshot.jpg
new file mode 100644
index 000000000..1b18c3a41
Binary files /dev/null and b/view/theme/decaf-mobile/screenshot.jpg differ
diff --git a/view/theme/decaf-mobile/search_item.tpl b/view/theme/decaf-mobile/search_item.tpl
new file mode 100644
index 000000000..3e14b644b
--- /dev/null
+++ b/view/theme/decaf-mobile/search_item.tpl
@@ -0,0 +1,64 @@
+
+{##}
+
+
+ {##}
+
+
+ {##}
+
+
+ {{ if $item.lock }}{##}
{##}
+ {{ else }}
{{ endif }}
+
$item.location
+
+
+ {##}
+
$item.name
+
$item.ago
+
+ {##}
+
+
$item.title
+ {##}
+
$item.body
+ {{ if $item.has_cats }}
+
+ {{ endif }}
+
+ {{ if $item.has_folders }}
+
+ {{ endif }}
+
+
+
+ {##}
+
+
+
+
+{##}
+
+{##}
+
+
diff --git a/view/theme/decaf-mobile/settings-head.tpl b/view/theme/decaf-mobile/settings-head.tpl
new file mode 100644
index 000000000..5c13a0ae6
--- /dev/null
+++ b/view/theme/decaf-mobile/settings-head.tpl
@@ -0,0 +1,5 @@
+{##}
diff --git a/view/theme/decaf-mobile/settings.tpl b/view/theme/decaf-mobile/settings.tpl
new file mode 100644
index 000000000..3ab464b25
--- /dev/null
+++ b/view/theme/decaf-mobile/settings.tpl
@@ -0,0 +1,148 @@
+$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}}
+
+
+
+
+
+
+
$settings_perms
+
+{##}
+
+ {##}
+ {{ inc acl_html_selector.tpl }}{{ endinc }}
+
+{##}
+
+
+
+
+
+$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/decaf-mobile/settings_display_end.tpl b/view/theme/decaf-mobile/settings_display_end.tpl
new file mode 100644
index 000000000..739c43b35
--- /dev/null
+++ b/view/theme/decaf-mobile/settings_display_end.tpl
@@ -0,0 +1,2 @@
+
+
diff --git a/view/theme/decaf-mobile/smarty3/acl_html_selector.tpl b/view/theme/decaf-mobile/smarty3/acl_html_selector.tpl
new file mode 100644
index 000000000..05e82f2d0
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/acl_html_selector.tpl
@@ -0,0 +1,34 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
+
+
+
+
+
+ {{$group_perms}}
+
+ {{foreach $acl_data.groups as $group}}
+ {{$group.name}}
+ {{/foreach}}
+
+
+
+ {{$contact_perms}}
+
+ {{foreach $acl_data.contacts as $contact}}
+ {{$contact.name}} ({{$contact.networkName}})
+ {{/foreach}}
+
+
+
+
+
+
+
diff --git a/view/theme/decaf-mobile/smarty3/acl_selector.tpl b/view/theme/decaf-mobile/smarty3/acl_selector.tpl
new file mode 100644
index 000000000..49f22ef98
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/acl_selector.tpl
@@ -0,0 +1,28 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
+
+
+
+{{**}}
diff --git a/view/theme/decaf-mobile/smarty3/admin_aside.tpl b/view/theme/decaf-mobile/smarty3/admin_aside.tpl
new file mode 100644
index 000000000..024d6195b
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/admin_aside.tpl
@@ -0,0 +1,36 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
+
+
+
+{{if $admin.update}}
+
+{{/if}}
+
+
+{{if $admin.plugins_admin}}{{$plugadmtxt}} {{/if}}
+
+ {{foreach $admin.plugins_admin as $l}}
+ {{$l.1}}
+ {{/foreach}}
+
+
+
+{{$logtxt}}
+
+
diff --git a/view/theme/decaf-mobile/smarty3/admin_site.tpl b/view/theme/decaf-mobile/smarty3/admin_site.tpl
new file mode 100644
index 000000000..27773da2c
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/admin_site.tpl
@@ -0,0 +1,66 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
+
diff --git a/view/theme/decaf-mobile/smarty3/admin_users.tpl b/view/theme/decaf-mobile/smarty3/admin_users.tpl
new file mode 100644
index 000000000..886b67dcd
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/admin_users.tpl
@@ -0,0 +1,103 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
+
diff --git a/view/theme/decaf-mobile/smarty3/album_edit.tpl b/view/theme/decaf-mobile/smarty3/album_edit.tpl
new file mode 100644
index 000000000..094da70a9
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/album_edit.tpl
@@ -0,0 +1,20 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
+
diff --git a/view/theme/decaf-mobile/smarty3/categories_widget.tpl b/view/theme/decaf-mobile/smarty3/categories_widget.tpl
new file mode 100644
index 000000000..1749fced3
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/categories_widget.tpl
@@ -0,0 +1,17 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+{{**}}
diff --git a/view/theme/decaf-mobile/smarty3/comment_item.tpl b/view/theme/decaf-mobile/smarty3/comment_item.tpl
new file mode 100644
index 000000000..63c70aa5b
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/comment_item.tpl
@@ -0,0 +1,84 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+{{**}}
+
+
diff --git a/view/theme/decaf-mobile/smarty3/common_tabs.tpl b/view/theme/decaf-mobile/smarty3/common_tabs.tpl
new file mode 100644
index 000000000..9fa4ed41d
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/common_tabs.tpl
@@ -0,0 +1,11 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
diff --git a/view/theme/decaf-mobile/smarty3/contact_block.tpl b/view/theme/decaf-mobile/smarty3/contact_block.tpl
new file mode 100644
index 000000000..5a0a26b87
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/contact_block.tpl
@@ -0,0 +1,17 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+{{**}}
diff --git a/view/theme/decaf-mobile/smarty3/contact_edit.tpl b/view/theme/decaf-mobile/smarty3/contact_edit.tpl
new file mode 100644
index 000000000..bced55ac3
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/contact_edit.tpl
@@ -0,0 +1,98 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
+{{$header}}
+
+
diff --git a/view/theme/decaf-mobile/smarty3/contact_head.tpl b/view/theme/decaf-mobile/smarty3/contact_head.tpl
new file mode 100644
index 000000000..a7fb96108
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/contact_head.tpl
@@ -0,0 +1,5 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
diff --git a/view/theme/decaf-mobile/smarty3/contact_template.tpl b/view/theme/decaf-mobile/smarty3/contact_template.tpl
new file mode 100644
index 000000000..f017744f7
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/contact_template.tpl
@@ -0,0 +1,43 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
+
+
+
+
+{{**}}
+ {{**}}
+
+
+
+ {{**}}
+
+{{**}}
+
+
+
+
+
{{$contact.name}}
+{{if $contact.alt_text}}
{{$contact.alt_text}}
{{/if}}
+
{{$contact.network}}
+
+
+
diff --git a/view/theme/decaf-mobile/smarty3/contacts-end.tpl b/view/theme/decaf-mobile/smarty3/contacts-end.tpl
new file mode 100644
index 000000000..adeea280c
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/contacts-end.tpl
@@ -0,0 +1,9 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+{{**}}
diff --git a/view/theme/decaf-mobile/smarty3/contacts-head.tpl b/view/theme/decaf-mobile/smarty3/contacts-head.tpl
new file mode 100644
index 000000000..7fa141164
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/contacts-head.tpl
@@ -0,0 +1,10 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+{{**}}
diff --git a/view/theme/decaf-mobile/smarty3/contacts-template.tpl b/view/theme/decaf-mobile/smarty3/contacts-template.tpl
new file mode 100644
index 000000000..b9162c2e9
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/contacts-template.tpl
@@ -0,0 +1,33 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+{{$header}}{{if $total}} ({{$total}}){{/if}}
+
+{{if $finding}}{{$finding}} {{/if}}
+
+
+
+{{$desc}}
+
+
+
+
+
+
+{{$tabs}}
+
+
+
+{{foreach $contacts as $contact}}
+ {{include file="contact_template.tpl"}}
+{{/foreach}}
+
+
+
+{{$paginate}}
+
+
+
+
diff --git a/view/theme/decaf-mobile/smarty3/contacts-widget-sidebar.tpl b/view/theme/decaf-mobile/smarty3/contacts-widget-sidebar.tpl
new file mode 100644
index 000000000..bda321896
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/contacts-widget-sidebar.tpl
@@ -0,0 +1,7 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+{{$follow_widget}}
+
diff --git a/view/theme/decaf-mobile/smarty3/conversation.tpl b/view/theme/decaf-mobile/smarty3/conversation.tpl
new file mode 100644
index 000000000..f6810bb10
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/conversation.tpl
@@ -0,0 +1,34 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+{{$live_update}}
+
+{{foreach $threads as $thread}}
+
+ {{foreach $thread.items as $item}}
+ {{if $item.comment_firstcollapsed}}
+
+ {{/if}}
+
+ {{include file="{{$item.template}}"}}
+
+
+ {{/foreach}}
+
+{{/foreach}}
+
+
+
+{{**}}
diff --git a/view/theme/decaf-mobile/smarty3/cropbody.tpl b/view/theme/decaf-mobile/smarty3/cropbody.tpl
new file mode 100644
index 000000000..5ace9a1aa
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/cropbody.tpl
@@ -0,0 +1,32 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+{{$title}}
+
+{{$desc}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/view/theme/decaf-mobile/smarty3/cropend.tpl b/view/theme/decaf-mobile/smarty3/cropend.tpl
new file mode 100644
index 000000000..e75083f51
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/cropend.tpl
@@ -0,0 +1,9 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+{{**}}
diff --git a/view/theme/decaf-mobile/smarty3/crophead.tpl b/view/theme/decaf-mobile/smarty3/crophead.tpl
new file mode 100644
index 000000000..6438cfb35
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/crophead.tpl
@@ -0,0 +1,6 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
diff --git a/view/theme/decaf-mobile/smarty3/display-head.tpl b/view/theme/decaf-mobile/smarty3/display-head.tpl
new file mode 100644
index 000000000..294320192
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/display-head.tpl
@@ -0,0 +1,9 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+{{**}}
diff --git a/view/theme/decaf-mobile/smarty3/end.tpl b/view/theme/decaf-mobile/smarty3/end.tpl
new file mode 100644
index 000000000..e75845bac
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/end.tpl
@@ -0,0 +1,29 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
+{{**}}
+{{**}}
+{{**}}
+{{**}}
+{{**}}
+
+
+
+
diff --git a/view/theme/decaf-mobile/smarty3/event_end.tpl b/view/theme/decaf-mobile/smarty3/event_end.tpl
new file mode 100644
index 000000000..63dbec442
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/event_end.tpl
@@ -0,0 +1,9 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+{{**}}
diff --git a/view/theme/decaf-mobile/smarty3/event_head.tpl b/view/theme/decaf-mobile/smarty3/event_head.tpl
new file mode 100644
index 000000000..bd72758e6
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/event_head.tpl
@@ -0,0 +1,11 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
+{{**}}
diff --git a/view/theme/decaf-mobile/smarty3/field_checkbox.tpl b/view/theme/decaf-mobile/smarty3/field_checkbox.tpl
new file mode 100644
index 000000000..f7f857f59
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/field_checkbox.tpl
@@ -0,0 +1,11 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
+
+ {{$field.1}}
+
+ {{$field.3}}
+
diff --git a/view/theme/decaf-mobile/smarty3/field_input.tpl b/view/theme/decaf-mobile/smarty3/field_input.tpl
new file mode 100644
index 000000000..240bed249
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/field_input.tpl
@@ -0,0 +1,11 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
+
+ {{$field.1}}
+
+ {{$field.3}}
+
diff --git a/view/theme/decaf-mobile/smarty3/field_openid.tpl b/view/theme/decaf-mobile/smarty3/field_openid.tpl
new file mode 100644
index 000000000..d5ebd9a3b
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/field_openid.tpl
@@ -0,0 +1,11 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
+
+ {{$field.1}}
+
+ {{$field.3}}
+
diff --git a/view/theme/decaf-mobile/smarty3/field_password.tpl b/view/theme/decaf-mobile/smarty3/field_password.tpl
new file mode 100644
index 000000000..f1352f27b
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/field_password.tpl
@@ -0,0 +1,11 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
+
+ {{$field.1}}
+
+ {{$field.3}}
+
diff --git a/view/theme/decaf-mobile/smarty3/field_themeselect.tpl b/view/theme/decaf-mobile/smarty3/field_themeselect.tpl
new file mode 100644
index 000000000..95cfd6bcd
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/field_themeselect.tpl
@@ -0,0 +1,14 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
+
+
{{$field.1}}
+
+ {{foreach $field.4 as $opt=>$val}}{{$val}} {{/foreach}}
+
+
{{$field.3}}
+
+
diff --git a/view/theme/decaf-mobile/smarty3/field_yesno.tpl b/view/theme/decaf-mobile/smarty3/field_yesno.tpl
new file mode 100644
index 000000000..9cdb95e01
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/field_yesno.tpl
@@ -0,0 +1,19 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+{{**}}
+{{include file="field_checkbox.tpl"}}
diff --git a/view/theme/decaf-mobile/smarty3/generic_links_widget.tpl b/view/theme/decaf-mobile/smarty3/generic_links_widget.tpl
new file mode 100644
index 000000000..705ddb57c
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/generic_links_widget.tpl
@@ -0,0 +1,17 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
diff --git a/view/theme/decaf-mobile/smarty3/group_drop.tpl b/view/theme/decaf-mobile/smarty3/group_drop.tpl
new file mode 100644
index 000000000..269322815
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/group_drop.tpl
@@ -0,0 +1,14 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
+
diff --git a/view/theme/decaf-mobile/smarty3/group_side.tpl b/view/theme/decaf-mobile/smarty3/group_side.tpl
new file mode 100644
index 000000000..7d9d23ebe
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/group_side.tpl
@@ -0,0 +1,38 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
+
+
diff --git a/view/theme/decaf-mobile/smarty3/head.tpl b/view/theme/decaf-mobile/smarty3/head.tpl
new file mode 100644
index 000000000..ad9e1ad28
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/head.tpl
@@ -0,0 +1,34 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
+{{**}}
+
+{{**}}
+
+
+
+{{**}}
+
+
+
+
+
+
+
diff --git a/view/theme/decaf-mobile/smarty3/jot-end.tpl b/view/theme/decaf-mobile/smarty3/jot-end.tpl
new file mode 100644
index 000000000..88c8e59c6
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/jot-end.tpl
@@ -0,0 +1,10 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
+
+{{**}}
diff --git a/view/theme/decaf-mobile/smarty3/jot-header.tpl b/view/theme/decaf-mobile/smarty3/jot-header.tpl
new file mode 100644
index 000000000..b0bf78916
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/jot-header.tpl
@@ -0,0 +1,22 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
+
+
diff --git a/view/theme/decaf-mobile/smarty3/jot.tpl b/view/theme/decaf-mobile/smarty3/jot.tpl
new file mode 100644
index 000000000..61a72154c
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/jot.tpl
@@ -0,0 +1,104 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{if $placeholdercategory}}
+
+ {{/if}}
+
+ {{**}}
+ {{if $content}}{{$content}}{{/if}}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{**}}
+ {{**}}
+
+ {{**}}
+
+
+
+
+
+ {{$jotplugins}}
+
+
+
+
+ {{**}}
+
+ {{**}}
+ {{if $acl_data}}
+ {{include file="acl_html_selector.tpl"}}
+ {{/if}}
+ {{$jotnets}}
+
+ {{**}}
+
+
+
+
+
+
+
+ {{**}}
+
diff --git a/view/theme/decaf-mobile/smarty3/jot_geotag.tpl b/view/theme/decaf-mobile/smarty3/jot_geotag.tpl
new file mode 100644
index 000000000..d828980e5
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/jot_geotag.tpl
@@ -0,0 +1,16 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
+ if(navigator.geolocation) {
+ navigator.geolocation.getCurrentPosition(function(position) {
+ var lat = position.coords.latitude.toFixed(4);
+ var lon = position.coords.longitude.toFixed(4);
+
+ $j('#jot-coord').val(lat + ', ' + lon);
+ $j('#profile-nolocation-wrapper').show();
+ });
+ }
+
diff --git a/view/theme/decaf-mobile/smarty3/lang_selector.tpl b/view/theme/decaf-mobile/smarty3/lang_selector.tpl
new file mode 100644
index 000000000..a1aee8277
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/lang_selector.tpl
@@ -0,0 +1,15 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
+
+
+
+ {{foreach $langs.0 as $v=>$l}}
+ {{$l}}
+ {{/foreach}}
+
+
+
diff --git a/view/theme/decaf-mobile/smarty3/like_noshare.tpl b/view/theme/decaf-mobile/smarty3/like_noshare.tpl
new file mode 100644
index 000000000..9d6a58ea2
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/like_noshare.tpl
@@ -0,0 +1,12 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
diff --git a/view/theme/decaf-mobile/smarty3/login.tpl b/view/theme/decaf-mobile/smarty3/login.tpl
new file mode 100644
index 000000000..d220321ec
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/login.tpl
@@ -0,0 +1,50 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
+
+
+{{**}}
diff --git a/view/theme/decaf-mobile/smarty3/login_head.tpl b/view/theme/decaf-mobile/smarty3/login_head.tpl
new file mode 100644
index 000000000..c2d9504ad
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/login_head.tpl
@@ -0,0 +1,7 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+{{**}}
+
diff --git a/view/theme/decaf-mobile/smarty3/lostpass.tpl b/view/theme/decaf-mobile/smarty3/lostpass.tpl
new file mode 100644
index 000000000..5a22c245b
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/lostpass.tpl
@@ -0,0 +1,26 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
diff --git a/view/theme/decaf-mobile/smarty3/mail_conv.tpl b/view/theme/decaf-mobile/smarty3/mail_conv.tpl
new file mode 100644
index 000000000..c2b43c538
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/mail_conv.tpl
@@ -0,0 +1,23 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
+
+
+
+
+
{{$mail.from_name}}
+
{{$mail.date}}
+
{{$mail.subject}}
+
+
{{$mail.body}}
+
+
+
+
+
+
+
+
diff --git a/view/theme/decaf-mobile/smarty3/mail_list.tpl b/view/theme/decaf-mobile/smarty3/mail_list.tpl
new file mode 100644
index 000000000..538f6affb
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/mail_list.tpl
@@ -0,0 +1,21 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
+
+
+
+
+
{{$from_name}}
+
{{$date}}
+
+
+
+
+
+
+
diff --git a/view/theme/decaf-mobile/smarty3/manage.tpl b/view/theme/decaf-mobile/smarty3/manage.tpl
new file mode 100644
index 000000000..f7d72f653
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/manage.tpl
@@ -0,0 +1,23 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+{{$title}}
+{{$desc}}
+{{$choose}}
+
+
diff --git a/view/theme/decaf-mobile/smarty3/message-end.tpl b/view/theme/decaf-mobile/smarty3/message-end.tpl
new file mode 100644
index 000000000..adeea280c
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/message-end.tpl
@@ -0,0 +1,9 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+{{**}}
diff --git a/view/theme/decaf-mobile/smarty3/message-head.tpl b/view/theme/decaf-mobile/smarty3/message-head.tpl
new file mode 100644
index 000000000..a7fb96108
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/message-head.tpl
@@ -0,0 +1,5 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
diff --git a/view/theme/decaf-mobile/smarty3/moderated_comment.tpl b/view/theme/decaf-mobile/smarty3/moderated_comment.tpl
new file mode 100644
index 000000000..b2401ca48
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/moderated_comment.tpl
@@ -0,0 +1,66 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
diff --git a/view/theme/decaf-mobile/smarty3/msg-end.tpl b/view/theme/decaf-mobile/smarty3/msg-end.tpl
new file mode 100644
index 000000000..594f3f79b
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/msg-end.tpl
@@ -0,0 +1,7 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
+
diff --git a/view/theme/decaf-mobile/smarty3/msg-header.tpl b/view/theme/decaf-mobile/smarty3/msg-header.tpl
new file mode 100644
index 000000000..8447bb300
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/msg-header.tpl
@@ -0,0 +1,15 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
+
+
diff --git a/view/theme/decaf-mobile/smarty3/nav.tpl b/view/theme/decaf-mobile/smarty3/nav.tpl
new file mode 100644
index 000000000..87d0bdec7
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/nav.tpl
@@ -0,0 +1,160 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
+{{**}}
+
+{{**}}
+
+
+
+{{**}}
+
+
+ {{if $nav.notifications}}
+{{**}}
+
+ {{/if}}
+
+{{**}}
+ {{if $nav.contacts}}
+
+ {{/if}}
+
+ {{if $nav.messages}}
+{{**}}
+
+ {{/if}}
+
+{{**}}
+ {{if $nav.network}}
+
+ {{/if}}
+
+
+
+ {{**}}
+ {{$banner}}
+
+
+{{**}}
diff --git a/view/theme/decaf-mobile/smarty3/photo_drop.tpl b/view/theme/decaf-mobile/smarty3/photo_drop.tpl
new file mode 100644
index 000000000..57f26cf52
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/photo_drop.tpl
@@ -0,0 +1,9 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
+
diff --git a/view/theme/decaf-mobile/smarty3/photo_edit.tpl b/view/theme/decaf-mobile/smarty3/photo_edit.tpl
new file mode 100644
index 000000000..1cff8f044
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/photo_edit.tpl
@@ -0,0 +1,65 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
+
+
+
+
+
+
+ {{$newalbum}}
+
+
+
+
+
+
+ {{$capt_label}}
+
+
+
+
+
+
+ {{$tag_label}}
+
+
+
+
+
+
+ {{$rotatecw}}
+
+
+
+
+ {{$rotateccw}}
+
+
+
+
+
+ {{**}}
+
+ {{**}}
+ {{include file="acl_html_selector.tpl"}}
+
+ {{**}}
+
+
+
+
+
+
+
+
+
+
diff --git a/view/theme/decaf-mobile/smarty3/photo_edit_head.tpl b/view/theme/decaf-mobile/smarty3/photo_edit_head.tpl
new file mode 100644
index 000000000..740c3b425
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/photo_edit_head.tpl
@@ -0,0 +1,12 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+{{**}}
diff --git a/view/theme/decaf-mobile/smarty3/photo_view.tpl b/view/theme/decaf-mobile/smarty3/photo_view.tpl
new file mode 100644
index 000000000..5ccb5fb16
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/photo_view.tpl
@@ -0,0 +1,47 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
+
+
+
+
+
+ {{if $prevlink}}
{{/if}}
+ {{if $nextlink}}
{{/if}}
+
+
+
+{{$desc}}
+{{if $tags}}
+{{$tags.0}}
+{{$tags.1}}
+{{/if}}
+{{if $tags.2}}{{/if}}
+
+{{if $edit}}
+{{$edit}}
+{{else}}
+
+{{if $likebuttons}}
+
+ {{$likebuttons}}
+ {{$like}}
+ {{$dislike}}
+
+{{/if}}
+
+{{$comments}}
+
+{{$paginate}}
+{{/if}}
+
diff --git a/view/theme/decaf-mobile/smarty3/photos_head.tpl b/view/theme/decaf-mobile/smarty3/photos_head.tpl
new file mode 100644
index 000000000..c8bfa62c1
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/photos_head.tpl
@@ -0,0 +1,10 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+{{**}}
diff --git a/view/theme/decaf-mobile/smarty3/photos_upload.tpl b/view/theme/decaf-mobile/smarty3/photos_upload.tpl
new file mode 100644
index 000000000..9c22448dd
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/photos_upload.tpl
@@ -0,0 +1,56 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+{{$pagename}}
+
+{{$usage}}
+
+
+
+
+
+
{{$existalbumtext}}
+
+ {{$albumselect}}
+
+
+
+
+ {{$default_upload_box}}
+
+
+
+ {{$nosharetext}}
+
+
+
+ {{**}}
+
+ {{**}}
+ {{include file="acl_html_selector.tpl"}}
+
+ {{**}}
+
+
+
+ {{$alt_uploader}}
+
+ {{$default_upload_submit}}
+
+
+
+
diff --git a/view/theme/decaf-mobile/smarty3/profed_end.tpl b/view/theme/decaf-mobile/smarty3/profed_end.tpl
new file mode 100644
index 000000000..e9c03543b
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/profed_end.tpl
@@ -0,0 +1,13 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+{{**}}
diff --git a/view/theme/decaf-mobile/smarty3/profed_head.tpl b/view/theme/decaf-mobile/smarty3/profed_head.tpl
new file mode 100644
index 000000000..c8ce27bb8
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/profed_head.tpl
@@ -0,0 +1,10 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+{{**}}
diff --git a/view/theme/decaf-mobile/smarty3/profile_edit.tpl b/view/theme/decaf-mobile/smarty3/profile_edit.tpl
new file mode 100644
index 000000000..7583784fb
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/profile_edit.tpl
@@ -0,0 +1,329 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+{{$default}}
+
+{{$banner}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{{$lbl_fullname}}
+
+
+
+
+
+{{$lbl_title}}
+
+
+
+
+
+
+{{$lbl_gender}}
+{{$gender}}
+
+
+
+
+
{{$lbl_bd}}
+
+{{$dob}} {{$age}}
+
+
+
+
+{{$hide_friends}}
+
+
+
+
+
+
+
+
+{{$lbl_address}}
+
+
+
+
+
+{{$lbl_city}}
+
+
+
+
+
+
+{{$lbl_zip}}
+
+
+
+
+
+{{$lbl_country}}
+
+{{**}}
+
+
+
+
+{{$lbl_region}}
+
+{{**}}
+
+
+
+
+{{$lbl_hometown}}
+
+
+
+
+
+
+
+
+
+
+{{$lbl_marital}}
+{{$marital}}
+
+ {{$lbl_with}}
+
+ {{$lbl_howlong}}
+
+
+
+
+
+{{$lbl_sexual}}
+{{$sexual}}
+
+
+
+
+
+
+{{$lbl_homepage}}
+
+
+
+
+
+{{$lbl_politic}}
+
+
+
+
+
+{{$lbl_religion}}
+
+
+
+
+
+{{$lbl_pubkey}}
+
+
{{$lbl_pubdsc}}
+
+
+
+{{$lbl_prvkey}}
+
+
{{$lbl_prvdsc}}
+
+
+
+
+
+
+
+
+
+
+{{$lbl_about}}
+
+
+
{{$about}}
+
+
+
+
+
+
+
+{{$lbl_hobbies}}
+
+
+
{{$interest}}
+
+
+
+
+
+
+
+{{$lbl_likes}}
+
+
+
{{$likes}}
+
+
+
+
+
+
+
+{{$lbl_dislikes}}
+
+
+
{{$dislikes}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{{$lbl_music}}
+
+
+
{{$music}}
+
+
+
+
+
+
+{{$lbl_book}}
+
+
+
{{$book}}
+
+
+
+
+
+
+
+
+{{$lbl_tv}}
+
+
+
{{$tv}}
+
+
+
+
+
+
+
+
+{{$lbl_film}}
+
+
+
{{$film}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+{{$lbl_love}}
+
+
+
{{$romance}}
+
+
+
+
+
+
+
+
+{{$lbl_work}}
+
+
+
{{$work}}
+
+
+
+
+
+
+
+
+{{$lbl_school}}
+
+
+
{{$education}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/view/theme/decaf-mobile/smarty3/profile_photo.tpl b/view/theme/decaf-mobile/smarty3/profile_photo.tpl
new file mode 100644
index 000000000..6bcb3cf85
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/profile_photo.tpl
@@ -0,0 +1,24 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+{{$title}}
+
+
+
+
+
+{{$lbl_upfile}}
+
+
+
+
+
+
+
+
+
+
+{{$select}}
+
diff --git a/view/theme/decaf-mobile/smarty3/profile_vcard.tpl b/view/theme/decaf-mobile/smarty3/profile_vcard.tpl
new file mode 100644
index 000000000..85c6345d6
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/profile_vcard.tpl
@@ -0,0 +1,56 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
+
+
{{$profile.name}}
+
+
+
+ {{if $pdesc}}
{{$profile.pdesc}}
{{/if}}
+
+
+
+
+ {{if $location}}
+
{{$location}}
+
+ {{if $profile.address}}{{$profile.address}}
{{/if}}
+
+ {{$profile.locality}} {{if $profile.locality}}, {{/if}}
+ {{$profile.region}}
+ {{$profile.postal_code}}
+
+ {{if $profile.country_name}}{{$profile.country_name}} {{/if}}
+
+
+ {{/if}}
+
+ {{if $gender}}
{{$gender}} {{$profile.gender}} {{/if}}
+
+ {{if $profile.pubkey}}
{{$profile.pubkey}}
{{/if}}
+
+ {{if $marital}}
♥ {{$marital}}{{$profile.marital}} {{/if}}
+
+ {{if $homepage}}
{{$homepage}} {{$profile.homepage}} {{/if}}
+
+ {{include file="diaspora_vcard.tpl"}}
+
+
+
+
+
+{{$contact_block}}
+
+
diff --git a/view/theme/decaf-mobile/smarty3/prv_message.tpl b/view/theme/decaf-mobile/smarty3/prv_message.tpl
new file mode 100644
index 000000000..6372d306a
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/prv_message.tpl
@@ -0,0 +1,48 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
+{{$header}}
+
+
+
+
+{{$parent}}
+
+{{$to}}
+
+{{if $showinputs}}
+
+
+{{else}}
+{{$select}}
+{{/if}}
+
+{{$subject}}
+
+
+{{$yourmessage}}
+{{$text}}
+
+
+
+
+
+ {{**}}
+
+
+
+
+
+
+
+
+
diff --git a/view/theme/decaf-mobile/smarty3/register.tpl b/view/theme/decaf-mobile/smarty3/register.tpl
new file mode 100644
index 000000000..7dd8c77ca
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/register.tpl
@@ -0,0 +1,85 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
diff --git a/view/theme/decaf-mobile/smarty3/search_item.tpl b/view/theme/decaf-mobile/smarty3/search_item.tpl
new file mode 100644
index 000000000..a6da44d3d
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/search_item.tpl
@@ -0,0 +1,69 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
+{{**}}
+
+
+ {{**}}
+
+
+ {{**}}
+
+
+ {{if $item.lock}}{{**}}
{{**}}
+ {{else}}
{{/if}}
+
{{$item.location}}
+
+
+ {{**}}
+
{{$item.name}}
+
{{$item.ago}}
+
+ {{**}}
+
+
{{$item.title}}
+ {{**}}
+
{{$item.body}}
+ {{if $item.has_cats}}
+
+ {{/if}}
+
+ {{if $item.has_folders}}
+
+ {{/if}}
+
+
+
+ {{**}}
+
+
+
+
+{{**}}
+
+{{**}}
+
+
diff --git a/view/theme/decaf-mobile/smarty3/settings-head.tpl b/view/theme/decaf-mobile/smarty3/settings-head.tpl
new file mode 100644
index 000000000..c8bfa62c1
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/settings-head.tpl
@@ -0,0 +1,10 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+{{**}}
diff --git a/view/theme/decaf-mobile/smarty3/settings.tpl b/view/theme/decaf-mobile/smarty3/settings.tpl
new file mode 100644
index 000000000..d702cd7d1
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/settings.tpl
@@ -0,0 +1,153 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+{{$ptitle}}
+
+{{$nickname_block}}
+
+
+
+
+{{$h_pass}}
+
+{{include file="field_password.tpl" field=$password1}}
+{{include file="field_password.tpl" field=$password2}}
+
+{{if $oid_enable}}
+{{include file="field_input.tpl" field=$openid}}
+{{/if}}
+
+
+
+
+
+
+{{$h_basic}}
+
+{{include file="field_input.tpl" field=$username}}
+{{include file="field_input.tpl" field=$email}}
+{{include file="field_custom.tpl" field=$timezone}}
+{{include file="field_input.tpl" field=$defloc}}
+{{include file="field_checkbox.tpl" field=$allowloc}}
+
+
+
+
+
+
+
+{{$h_prv}}
+
+
+
+
+{{include file="field_input.tpl" field=$maxreq}}
+
+{{$profile_in_dir}}
+
+{{$profile_in_net_dir}}
+
+{{$hide_friends}}
+
+{{$hide_wall}}
+
+{{$blockwall}}
+
+{{$blocktags}}
+
+{{$suggestme}}
+
+{{$unkmail}}
+
+
+{{include file="field_input.tpl" field=$cntunkmail}}
+
+{{include file="field_input.tpl" field=$expire.days}}
+
+
+
+
+
+
+
{{$settings_perms}}
+
+{{**}}
+
+ {{**}}
+ {{include file="acl_html_selector.tpl"}}
+
+{{**}}
+
+
+
+
+
+{{$group_select}}
+
+
+
+
+
+
+
+
+{{$h_not}}
+
+
+
{{$activity_options}}
+
+{{include file="field_checkbox.tpl" field=$post_newfriend}}
+{{include file="field_checkbox.tpl" field=$post_joingroup}}
+{{include file="field_checkbox.tpl" field=$post_profilechange}}
+
+
+
{{$lbl_not}}
+
+
+{{include file="field_intcheckbox.tpl" field=$notify1}}
+{{include file="field_intcheckbox.tpl" field=$notify2}}
+{{include file="field_intcheckbox.tpl" field=$notify3}}
+{{include file="field_intcheckbox.tpl" field=$notify4}}
+{{include file="field_intcheckbox.tpl" field=$notify5}}
+{{include file="field_intcheckbox.tpl" field=$notify6}}
+{{include file="field_intcheckbox.tpl" field=$notify7}}
+
+
+
+
+
+
+
+
+
+{{$h_advn}}
+{{$h_descadvn}}
+
+{{$pagetype}}
+
+
+
+
+
+
diff --git a/view/theme/decaf-mobile/smarty3/settings_display_end.tpl b/view/theme/decaf-mobile/smarty3/settings_display_end.tpl
new file mode 100644
index 000000000..4b3db00f5
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/settings_display_end.tpl
@@ -0,0 +1,7 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
+
diff --git a/view/theme/decaf-mobile/smarty3/suggest_friends.tpl b/view/theme/decaf-mobile/smarty3/suggest_friends.tpl
new file mode 100644
index 000000000..7221dc689
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/suggest_friends.tpl
@@ -0,0 +1,21 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
+
+
+
+
+ {{if $connlnk}}
+
+ {{/if}}
+
+
diff --git a/view/theme/decaf-mobile/smarty3/threaded_conversation.tpl b/view/theme/decaf-mobile/smarty3/threaded_conversation.tpl
new file mode 100644
index 000000000..e90caf5a7
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/threaded_conversation.tpl
@@ -0,0 +1,17 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+{{$live_update}}
+
+{{foreach $threads as $thread}}
+{{if $mode == display}}
+{{include file="{{$thread.template}}" item=$thread}}
+{{else}}
+{{include file="wall_thread_toponly.tpl" item=$thread}}
+{{/if}}
+{{/foreach}}
+
+
+
diff --git a/view/theme/decaf-mobile/smarty3/voting_fakelink.tpl b/view/theme/decaf-mobile/smarty3/voting_fakelink.tpl
new file mode 100644
index 000000000..1e073916e
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/voting_fakelink.tpl
@@ -0,0 +1,6 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+{{$phrase}}
diff --git a/view/theme/decaf-mobile/smarty3/wall_thread.tpl b/view/theme/decaf-mobile/smarty3/wall_thread.tpl
new file mode 100644
index 000000000..97769f301
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/wall_thread.tpl
@@ -0,0 +1,125 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
+
+{{**}}
+
+
+ {{if $item.owner_url}}
+
+
+ {{/if}}
+ {{**}}
+ {{**}}
+
+
+
+ {{**}}
+
+ {{**}}
+ {{**}}
+
+ {{if $item.lock}}{{**}}
{{**}}
+ {{else}}
{{/if}}
+
{{$item.location}}
+
+
+ {{**}}
+
{{$item.name}} {{if $item.owner_url}} {{$item.to}}
{{$item.owner_name}} {{$item.vwall}}{{/if}}
+
{{$item.ago}}
+ {{**}}
+
+
{{$item.title}}
+ {{**}}
+
{{$item.body}}
+ {{**}}
+ {{foreach $item.tags as $tag}}
+
{{$tag}}
+ {{/foreach}}
+ {{**}}
+ {{if $item.has_cats}}
+
+ {{/if}}
+
+ {{if $item.has_folders}}
+
+ {{/if}}
+
+
+
+
+ {{**}}
+
{{$item.like}}
+
{{$item.dislike}}
+
{{$item.boring}}
+
+ {{if $item.threaded}}
+ {{if $item.comment}}
+ {{**}}
+ {{$item.comment}}
+ {{**}}
+ {{/if}}
+ {{/if}}
+
+{{**}}
+{{**}}
+{{foreach $item.children as $child}}
+ {{include file="{{$child.template}}" item=$child}}
+{{/foreach}}
+
+{{if $item.flatten}}
+{{**}}
+ {{$item.comment}}
+{{**}}
+{{/if}}
+
+
diff --git a/view/theme/decaf-mobile/smarty3/wall_thread_toponly.tpl b/view/theme/decaf-mobile/smarty3/wall_thread_toponly.tpl
new file mode 100644
index 000000000..6a4da1acc
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/wall_thread_toponly.tpl
@@ -0,0 +1,107 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
+
+
+
+
+ {{if $item.owner_url}}
+
+
+ {{/if}}
+
+
+
+
+
+ {{if $item.lock}}
+ {{else}}
{{/if}}
+
{{$item.location}}
+
+
+
{{$item.name}} {{if $item.owner_url}} {{$item.to}}
{{$item.owner_name}} {{$item.vwall}}{{/if}}
+
{{$item.ago}}
+
+
{{$item.title}}
+
{{$item.body}}
+ {{foreach $item.tags as $tag}}
+
{{$tag}}
+ {{/foreach}}
+ {{if $item.has_cats}}
+
+ {{/if}}
+
+ {{if $item.has_folders}}
+
+ {{/if}}
+
+
+
+
+
{{$item.like}}
+
{{$item.dislike}}
+
{{$item.boring}}
+
+
+
+
+
+
diff --git a/view/theme/decaf-mobile/smarty3/wallmessage.tpl b/view/theme/decaf-mobile/smarty3/wallmessage.tpl
new file mode 100644
index 000000000..4cba90091
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/wallmessage.tpl
@@ -0,0 +1,37 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
+{{$header}}
+
+{{$subheader}}
+
+
+
+
+{{$parent}}
+
+{{$to}}
+{{$recipname}}
+
+{{$subject}}
+
+
+{{$yourmessage}}
+{{$text}}
+
+
+
+
+ {{**}}
+
+
+
+
+
+
+
diff --git a/view/theme/decaf-mobile/smarty3/wallmsg-end.tpl b/view/theme/decaf-mobile/smarty3/wallmsg-end.tpl
new file mode 100644
index 000000000..594f3f79b
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/wallmsg-end.tpl
@@ -0,0 +1,7 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
+
diff --git a/view/theme/decaf-mobile/smarty3/wallmsg-header.tpl b/view/theme/decaf-mobile/smarty3/wallmsg-header.tpl
new file mode 100644
index 000000000..e6f1c6737
--- /dev/null
+++ b/view/theme/decaf-mobile/smarty3/wallmsg-header.tpl
@@ -0,0 +1,12 @@
+{{*
+ * AUTOMATICALLY GENERATED TEMPLATE
+ * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
+ *
+ *}}
+
+
+
diff --git a/view/theme/decaf-mobile/style.css b/view/theme/decaf-mobile/style.css
new file mode 100644
index 000000000..4cfdd805f
--- /dev/null
+++ b/view/theme/decaf-mobile/style.css
@@ -0,0 +1,4317 @@
+/**
+ * duepuntozero Frindika style
+ * Fabio Comuni
+ *
+ * Heavily modified for Frost Mobile
+ * Zach P
+ */
+
+
+/* generals */
+html {
+/* width: 320px;*/
+ margin-left: auto;
+ margin-right: auto;
+/* overflow-x:hidden;*/
+}
+
+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;
+ overflow-x:hidden;
+}
+
+div.container {
+ display: block;
+/* width: 100%;*/
+ margin-top: 0px;
+ margin-bottom: 0px;
+ margin-left: auto;
+ margin-right: auto;
+ overflow-x:hidden;
+}
+
+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: 212px;
+ 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;
+ margin-left: 20px;
+ margin-right: 0px;
+ width: 260px;
+ overflow: hidden;
+}*/
+
+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-button-container a {
+ padding-top: 1.4em;
+}
+
+.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: 100;
+}
+
+#network-menu-list {
+ width: 9em;
+ 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;
+ min-height: 112px;
+
+ width: 250px;
+
+ padding: 1em;
+ margin: 1em 0px 0px 0px;
+
+ position: absolute;
+}*/
+
+#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('friendica-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;*/
+ margin-left: 0px;
+
+ /*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;
+ overflow-x:hidden;
+}
+
+/* footer */
+footer {
+ text-align: center;
+ padding-bottom: 1em;
+}
+
+.tabs {
+ /*background-image: url(head.jpg);
+ background-repeat: repeat-x;
+ background-position: 0px -20px;*/
+ border-bottom: 1px solid #babdb6;
+ padding:0px;
+}
+.tabs.links-widget {
+ border: none;
+}
+.tabs li { margin: 0px 0px 20px 0px; padding-left: 1em; list-style: none; }
+.tabs a {
+ padding: 0.4em 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: 0.5em;
+ margin-bottom: 0.4em;
+}
+.tab.active {
+ font-weight: bold;
+
+}
+#events-tab {
+ display: none;
+}
+#tabs-end {
+ padding-top: 0.3em;
+ clear: both;
+}
+
+
+/* Navigation page */
+.navigation-link {
+/* display: block;
+ clear: both;
+ text-align: center;*/
+ font-size: 24px;
+}
+#navigation-login-wrapper,
+#navigation-network-wrapper,
+navigation-messages-wrapper,
+#navigation-contacts-wrapper,
+#navigation-notifications-wrapper,
+#navigation-misc-wrapper {
+ margin-bottom: 1em;
+}
+
+
+.birthday-today, .event-today {
+ font-weight: bold;
+}
+
+.preview {
+ background: #FFFFC8;
+}
+
+#theme-preview {
+ margin: 15px 0 15px 15px;
+}
+#theme-version {
+ display: block;
+ font-weight: bold;
+}
+#theme-credits {
+ margin-top: 15px;
+ margin-bottom: 15px;
+}
+
+/* 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-title:-moz-placeholder{font-weight: normal;}
+#jot-category::-webkit-input-placeholder{font-weight: normal;}
+#jot-category:-moz-placeholder{font-weight: normal;}*/
+#profile-jot-text::-webkit-input-placeholder{font-weight: bold;}
+#profile-jot-text:-moz-placeholder{font-weight: bold; font-size:18px; color: graytext}
+
+#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(friendica-16.png) no-repeat;
+ background-position: 2px center;
+ font-size: 17px;
+ padding-left: 21px;
+ height: 21px;
+ background-color: #FFFFFF;
+ color: #000000;
+ margin-bottom: 20px;
+ max-width: 90%;
+}
+
+#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-message-wrapper textarea {
+ max-width: 90%;
+}
+#dfrn-request-submit-wrapper {
+ clear: both;
+ /*margin-left: 50px;*/
+}
+#dfrn-request-submit-wrapper input {
+ font-size: 18px;
+ padding: 5px 10px;
+}
+
+#dfrn-request-info-wrapper {
+ margin-left: 50px;
+}
+
+
+
+#cropimage-wrapper, #cropimage-preview-wrapper {
+ float: left;
+ padding: 10px;
+}
+.imgCrop {
+ max-width: 280px;
+}
+#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;
+ max-width: 300px;
+ margin-left: auto;
+ margin-right: auto;
+}
+
+#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 {
+ text-align: center;
+}
+#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;
+}
+
+#id_theme,
+#id_mobile_theme {
+ width: 280px;
+}
+/*.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-search-submit {
+ font-size: 18px;
+ padding: 5px 10px;
+}
+
+#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: 200px;
+}
+#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;
+}
+
+.toplevel_item {
+ margin-bottom: 60px;
+}
+
+.wall-item-content-wrapper {
+ padding-top: 1em;
+/* padding-left: 0.25em;
+ padding-right: 0.25em;*/
+
+ border-top: 2px solid #AAAAAA;
+ position: relative;
+}
+
+.wall-item-content-wrapper.comment {
+ margin-top: 15px;
+ margin-left: 5px;
+ margin-right: 5px;
+
+ padding-top: 0px;
+/* padding-left: 0.5em
+ padding-right: 0.5em;*/
+
+ 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-like-full .fakelink-wrapper,
+.wall-item-dislike-full .fakelink-wrapper {
+ display: none;
+}
+.wall-item-like-full .wall-item-like-expanded,
+.wall-item-dislike-full .wall-item-dislike-expanded {
+ display: inherit !important;
+}
+
+.wall-item-info {
+ display: block;
+ float: left;
+ width:110px;
+ margin-right:10px;
+ margin-bottom:10px;
+}
+.comment .wall-item-info {
+ width: 70px;
+}
+
+.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 { 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: 67px;
+ 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: 67px;
+/* z-index: 100;*/
+}
+.wall-item-lock {
+ margin-top: 1em;
+ 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: 3px;
+}
+
+.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;
+ border-radius: 7px;
+}
+.comment .wall-item-photo {
+ width: 50px !important;
+ height: 50px !important;
+}
+.wall-item-content {
+/* float: left;
+ max-width: 100%*/
+/* padding-right: 1em;
+ max-height: 500px;
+ overflow: auto;*/
+ padding-left:0.25em;
+ padding-right:0.25em;
+ clear: left; /* I hate this, but it's the only way to keep the text from bunching to the right on the Android browser */
+}
+.comment .wall-item-content {
+ padding-left:0.5em;
+ padding-right:0.5em;
+}
+
+.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;
+ max-width: 100%;
+ overflow: hidden;
+ margin-top: 10px;
+ line-height: 23px;
+}
+
+.wall-item-body img {
+ display: block;
+ margin-top: 2px;
+ margin-right: auto;
+ margin-left: auto;
+ /*max-width: 290px;*/
+ max-width: 100%;
+ border-radius: 7px;
+ -moz-border-radius: 7px;
+ -webkit-border-radius: 7px;
+}
+
+/*.comment .wall-item-body img {
+ max-width: 100%;
+}*/
+
+.wall-item-body img.smiley {
+ display: inline;
+ margin: auto;
+ border-radius: 0;
+ -webkit-border-radius: 0;
+}
+
+.wall-item-body blockquote {
+ margin-left: 0px;
+ margin-right: 0px;
+}
+
+.comment .wall-item-body ul {
+ padding-left: 1.5em;
+}
+
+.wall-item-body iframe {
+ display: block;
+ clear: both;
+ margin-top: 1.5em;
+ margin-bottom: 1.5em;
+}
+
+.wall-item-body code {
+ overflow: hidden;
+}
+
+.divgrow-showmore {
+ display: block;
+ clear: both;
+ text-align: center;
+ outline: 0;
+ border-top: 1px dotted #888;
+}
+
+.wall-item-tools {
+ clear: both;
+/* background-image: url("head.jpg");
+ background-position: 0 -20px;
+ background-repeat: repeat-x;*/
+ padding: 5px 5px 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 {
+ display: block;
+ margin-top: 15px;
+ background: #f3f3f3;
+ margin-left: 10px;
+ margin-right: 10px;
+
+ max-width: 90%;
+}
+
+.comment-wwedit-wrapper.comment {
+ margin-left: 40px;
+ margin-right: 40px;
+ border-radius: 10px;
+}
+
+.comment-edit-form {
+ padding-left: 1em;
+ padding-right: 1.5em;
+}
+
+.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: 250px;*/
+ width: 100%;
+ margin-top: 1.5em;
+/* margin-left: 20px;*/
+}
+
+.comment .comment-edit-text-empty {
+ width: 120px;
+}
+.comment .comment-edit-text-full {
+ margin-left: 10px;
+ width: 210px;
+}
+
+
+.comment-edit-text-end {
+ clear: both;
+}
+
+.comment-edit-submit {
+ font-size: 18px;
+ padding: 5px 10px;
+ margin: 10px 0px 10px 0px;
+}
+
+#profile-jot-wrapper {
+ padding-left: 10px;
+ padding-right: 10px;
+}
+
+.shared_header {
+ border-top: 1px solid #aaa;
+ color: #999;
+
+ height: 42px; /* 32 px for the image plus 10 px for the margin around the image */
+ padding-top: 0.5em;
+ margin-top: 1em;
+ margin-bottom: 1em;
+
+}
+.shared_header img {
+ float: left;
+
+ margin: auto 1em auto auto;
+ padding: 0;
+
+ box-shadow: none;
+ -moz-box-shadow: none;
+ -webkit-box-shadow: none;
+}
+
+#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;
+}
+input#profile-jot-email {
+ display: block;
+}
+.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: 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_prev a,
+
+.pager_next 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_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-last-update-text {
+ float: left;
+ clear: left;
+ margin-top: 30px;
+}
+
+#contact-edit-poll-text {
+ float: left;
+ clear: left;
+ margin-top: 15px;
+ margin-bottom: 0px;
+}
+
+#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: 10px;
+}
+
+#contact-edit-nav-end {
+ clear: both;
+}
+
+#contact-edit-wrapper {
+ width: 100%;
+}
+
+#update_now_link {
+ float: left;
+ clear: left;
+ margin-bottom: 20px;
+}
+
+#label_id_hidden, #id_hidden {
+ margin-top: 30px;
+}
+#help_id_hidden {
+ margin-top: 30px;
+}
+
+#contact-edit-info-wrapper, #contact-edit-info {
+ width: 90%;
+}
+
+#contact-edit-end {
+ clear: both;
+ margin-top: 15px;
+}
+
+#contact-profile-selector {
+ width: 175px;
+ margin-left: 0px;
+}
+
+.contact-edit-submit {
+ clear: left;
+ display: block;
+
+ margin-top: 10px;
+ margin-bottom: 45px;
+ padding: 0.2em 0.5em;
+ font-size: 18px;
+}
+
+
+.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: 101;
+ -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: 100%;
+ height: 200px;
+ color:#000;
+ 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;
+ padding-right:10px;*/
+ height:auto;
+ overflow:visible;
+ text-align: center;
+}
+
+#acl-wrapper {
+ /*display: inline-block;*/
+ padding-right: 1em;
+ padding-left: 1em;
+
+ border: 1px solid #444;
+ border-radius: 10px;
+}
+
+#acl-public-switch {
+ margin-top: 40px;
+ text-align: center;
+/* margin-right: auto;
+ margin-left: auto;
+
+ padding-top: 10px;
+ padding-bottom: 10px;
+ padding-left: 10px;
+ text-align: center;*/
+}
+
+#acl-public-switch a {
+ font-size: 1.5em;
+ padding: 0.2em 1em;
+ border: 1px solid #aaa;
+ border-radius: 10px;
+ -moz-border-radius: 10px;
+ -webkit-border-radius: 10px;
+ display: inline-block;
+ margin-right: 0.4em;
+ margin-bottom: 0.4em;
+}
+
+.acl-public-switch-selected {
+ font-weight: 700;
+}
+
+#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: 0.7em;
+ overflow: visible;
+}
+#acl-list-content {
+ text-align: center;
+}
+.acl-html-select-wrapper {
+ display: inline-block;
+ margin-right: 1em;
+ margin-bottom: 2em;
+ font-weight: 700;
+ max-width: 100%;
+}
+.acl-html-select {
+ margin-top: 0.4em;
+ max-width: 100%;
+}
+.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;
+}
+
+#message-new {
+ font-size: 24px;
+}
+
+#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-body {
+ padding-top: 20px;
+ clear: both;
+}
+
+.mail-conv-outside-wrapper-end {
+ clear: both;
+}
+
+.mail-conv-outside-wrapper {
+ margin-top: 30px;
+}
+
+.mail-conv-delete-wrapper {
+ float: right;
+ padding-bottom: 0.5em;
+ 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 {
+ font-size: 18px;
+ padding: 5px 10px;
+ 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 {
+ font-size: 18px;
+ padding: 5px 10px;
+ margin: 10px 0px 10px 10px;
+}
+
+#side-match-link {
+ margin-top: 10px;
+}
+
+aside input[type='text'] {
+ width: 174px;
+}
+
+.widget {
+ border: 1px solid #DDDDDD;
+ padding: 18px;
+ margin-top: 5px;
+ -moz-border-radius:5px;
+ -webkit-border-radius:5px;
+ border-radius:5px;
+}
+.widget.settings-widget {
+ padding: 0;
+}
+
+
+/*.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;*/
+ display: inline-block;
+ vertical-align: top;
+ 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-form {
+ text-align: center;
+}
+
+#photos-upload-newalbum-div, #photos-upload-existing-album-text {
+ /*float: left;*/
+ display: inline-block;
+ width: 175px;
+ text-align: left;
+}
+
+#photos-upload-noshare {
+ margin-bottom: 10px;
+}
+#photos-upload-noshare-div {
+ margin-top: 2em;
+ margin-bottom: 15px;
+}
+
+#photos-upload-noshare-label {
+ margin-left: 25px;
+}
+
+#photos-upload-newalbum {
+ width: 15em;
+}
+#photos-upload-album-select {
+ width: 15.7em;
+}
+
+#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_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 {
+ margin-left: 15px;
+}
+
+#photos-upload-perms-menu:hover {
+ color: #0000FF;
+ text-decoration: underline;
+ cursor: pointer;
+}
+#settings-default-perms-menu {
+ margin-top: 15px;
+ margin-bottom: 15px;
+}
+
+.photo-edit-input-text {
+ display: inline-block;
+ text-align: left;
+}
+
+#photo_edit_form {
+ text-align: center;
+}
+
+#photo-edit-caption-label, #photo-edit-tags-label, #photo-edit-albumname-label, .photo-edit-rotate-label {
+ /*float: left;*/
+ display: inline-block;
+ width: 150px;
+}
+
+#photo-edit-caption-label, #photo-edit-tags-label, #photo-edit-albumname-label {
+ font-weight: 700;
+}
+
+.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-choice {
+ display: inline-block;
+}
+
+.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;*/
+ margin-top: 1em;
+}
+#photos-upload-submit {
+ margin-top: 0px;
+}
+.settings-submit, .profile-edit-submit-button, .settings-features-submit {
+ 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-form {
+ max-width: 100%;
+ padding-left: 0.5em;
+ padding-right: 0.5em;
+}
+#photo-album-edit-form input {
+ max-width: 100%;
+}
+#photo-album-edit-name-label {
+ display: block;
+}
+
+#photo-album-edit-submit, #photo-album-edit-drop {
+ margin-top: 15px;
+ margin-bottom: 15px;
+
+ padding: 0.25em 0.5em;
+ font-size: 18px;
+}
+
+#photo-album-edit-drop {
+ margin-left: 2em;
+}
+
+.group-delete-wrapper {
+ float: right;
+ margin-right: 50px;
+}
+
+#confirm-message {
+ display: block;
+ font-size: 24px;
+}
+.confirm-button {
+ margin-top: 30px;
+ margin-right: 0.4em;
+ padding: 0.25em 0.5em;
+ font-size: 18px;
+}
+
+#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 {
+ font-size: 18px;
+ padding: 5px 10px;
+ 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: 1em 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: 280px;
+}
+
+.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 {
+ font-size: 14px;
+ margin-left: 10px;
+ width: 280px;
+ clear: both;
+ padding-bottom: 1.5em;
+}
+
+.event-start .dtstart, .event-end .dtend {
+ clear: both;
+ float: left;
+}
+
+.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 {
+ display: block;
+ margin-left: auto;
+ margin-right: auto;
+ text-align: center;
+}
+
+#photo-photo img {
+ max-width: 100%;
+}
+
+#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 {
+ display: inline-block;
+ padding: 10px;
+ /*width: 120px;
+ height: 120px;*/
+ scroll: auto;
+ margin-bottom: 2em;
+ vertical-align: top;
+}
+.profile-match-wrapper .icon.drophide {
+ margin-left: auto;
+ margin-right: auto;
+ margin-top: 1em;
+}
+#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;
+}
+
+.filesavetags, .categorytags {
+ display: block;
+ clear: left;
+}
+
+.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: 230px;
+ margin-left: 20px;
+}
+.field input[type=checkbox],
+.field input[type=radio] {
+ width: auto;
+}
+.field textarea { height: 100px; }
+.field_help {
+ display: block;
+ margin-left: 20px;
+ color: #666666;
+ clear: left;
+}
+
+
+
+.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: 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;}
+.icon.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;
+}
+.icon.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;}*/
+.icon.noglobe {
+ display: block; width: 24px; height: 24px;
+ background-size: 100% 100%;
+ background-image: url('images/noglobe.png');
+ background-repeat: no-repeat;
+}
+.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;
+}
+.icon.video { display: none; background-position: -48px -32px;}
+.oembed.video a { display: block; }
+.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;
+ float: left;
+ background-size: 100% 100%;
+ width: 48px;
+ height: 48px;
+ background-image: url('images/oxygen/unknown.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; }*/
+.type-video {
+ background-image: url('images/oxygen/video-x-generic.png');
+ background-size: 100% 100%;
+ width: 48px;
+ height: 48px;
+}
+.type-image {
+ background-image: url('images/oxygen/image-x-generic.png');
+ background-size: 100% 100%;
+ width: 48px;
+ height: 48px;
+}
+.type-audio { background-image: url('images/oxygen/audio-x-generic.png');
+ background-size: 100% 100%;
+ width: 48px;
+ height: 48px;
+}
+
+.type-text {
+ background-image: url('images/oxygen/text-x-generic-2.png');
+ background-size: 100% 100%;
+ width: 48px;
+ height: 48px;
+}
+.subtype-msword, .subtype-vnd-openxmlformats-officedocument-wordprocessingml-document {
+ background-image: url('images/oxygen/application-msword.png');
+ background-size: 100% 100%;
+ width: 48px;
+ height: 48px;
+}
+.subtype-pdf {
+ background-image: url('images/oxygen/application-pdf.png');
+ background-size: 100% 100%;
+ width: 48px;
+ height: 48px;
+}
+/*.type-unkn {
+ background-image: url('images/oxygen/unknown.png');
+ background-size: 100% 100%;
+
+ width: 48px;
+ height: 48px;
+}*/
+
+
+
+/* autocomplete popup */
+.acpopup {
+ max-height:150px;
+ background-color:#ffffff;
+ overflow:auto;
+ z-index:102;
+ 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;
+ margin: 0px;
+}
+div.jGrowl div.info {
+ background: #364e59 url("../../../images/icons/48/info.png") no-repeat 5px center;
+ color: #ffffff;
+ padding-left: 58px;
+ margin: 0px;
+}
+#jGrowl.top-right {
+ top: 15px;
+ right: 10px;
+}
+div.jGrowl-notification {
+ border-radius: 7px;
+}
+.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 0.3em;
+ list-style: none;
+ right: -60px;
+}
+#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;
+/* z-index: 103;*/
+}
+#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;
+}
+
+/*@media only screen and (min-device-width: 768px)
+and (max-device-width: 1024px)*/
+/*@media only screen and (min-device-width: 768px)
+{
+html {
+width:700px
+}
+div.section-wrapper {
+width:700px;
+margin-left:0px;
+}
+.wall-item-body {
+width:700px;
+}
+.comment .wall-item-body {
+width:650px;
+}
+}*/
+
+/*@media only screen and (min-device-width: 768px)
+{
+ .wall-item-body code {
+ width: 700px;
+ }
+
+ .comment .wall-item-body blockquote {
+ margin-left: 20px;
+ width: 680px;
+ }
+ blockquote {
+ width: 700px;
+ }
+
+}*/
+
diff --git a/view/theme/decaf-mobile/suggest_friends.tpl b/view/theme/decaf-mobile/suggest_friends.tpl
new file mode 100644
index 000000000..d5051e33b
--- /dev/null
+++ b/view/theme/decaf-mobile/suggest_friends.tpl
@@ -0,0 +1,16 @@
+
+
+
+
+
+ {{ if $connlnk }}
+
+ {{ endif }}
+
+
diff --git a/view/theme/decaf-mobile/theme.php b/view/theme/decaf-mobile/theme.php
new file mode 100644
index 000000000..2897176c4
--- /dev/null
+++ b/view/theme/decaf-mobile/theme.php
@@ -0,0 +1,33 @@
+
+ * Maintainer: Zach P
+ */
+
+function decaf_mobile_init(&$a) {
+ $a->theme_info = array();
+ $a->sourcename = 'Friendica mobile web';
+ $a->videowidth = 250;
+ $a->videoheight = 200;
+ $a->theme_thread_allow = false;
+// $a->force_max_items = 10;
+ set_template_engine($a, 'smarty3');
+}
+
+function decaf_mobile_content_loaded(&$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/decaf-mobile/login-style.css', $a->page['htmlhead']);
+ $a->theme['stylesheet'] = $a->get_baseurl() . '/view/theme/decaf-mobile/login-style.css';
+ }
+ if( $a->module === 'login' )
+ $a->page['end'] .= '';
+
+}
diff --git a/view/theme/decaf-mobile/threaded_conversation.tpl b/view/theme/decaf-mobile/threaded_conversation.tpl
new file mode 100644
index 000000000..5310b323a
--- /dev/null
+++ b/view/theme/decaf-mobile/threaded_conversation.tpl
@@ -0,0 +1,12 @@
+$live_update
+
+{{ for $threads as $thread }}
+{{ if $mode == display }}
+{{ inc $thread.template with $item=$thread }}{{ endinc }}
+{{ else }}
+{{ inc wall_thread_toponly.tpl with $item=$thread }}{{ endinc }}
+{{ endif }}
+{{ endfor }}
+
+
+
diff --git a/view/theme/decaf-mobile/voting_fakelink.tpl b/view/theme/decaf-mobile/voting_fakelink.tpl
new file mode 100644
index 000000000..b66302cc2
--- /dev/null
+++ b/view/theme/decaf-mobile/voting_fakelink.tpl
@@ -0,0 +1 @@
+$phrase
diff --git a/view/theme/decaf-mobile/wall_thread.tpl b/view/theme/decaf-mobile/wall_thread.tpl
new file mode 100644
index 000000000..a5bcbda7e
--- /dev/null
+++ b/view/theme/decaf-mobile/wall_thread.tpl
@@ -0,0 +1,119 @@
+
+
+{##}
+
+
+ {{ if $item.owner_url }}
+
+
+ {{ endif }}
+ {##}
+ {##}
+
+
+
+ {##}
+
+ {##}
+ {##}
+
+ {{ if $item.lock }}{##}
{##}
+ {{ else }}
{{ endif }}
+
$item.location
+
+
+ {##}
+
$item.name {{ if $item.owner_url }} $item.to
$item.owner_name $item.vwall{{ endif }}
+
$item.ago
+ {##}
+
+
$item.title
+ {##}
+
$item.body
+ {##}
+ {{ for $item.tags as $tag }}
+
$tag
+ {{ endfor }}
+ {##}
+ {{ if $item.has_cats }}
+
+ {{ endif }}
+
+ {{ if $item.has_folders }}
+
+ {{ endif }}
+
+
+
+
+ {##}
+
$item.like
+
$item.dislike
+
+ {{ if $item.threaded }}
+ {{ if $item.comment }}
+ {##}
+ $item.comment
+ {##}
+ {{ endif }}
+ {{ endif }}
+
+{##}
+{##}
+{{ for $item.children as $child }}
+ {{ inc $child.template with $item=$child }}{{ endinc }}
+{{ endfor }}
+
+{{ if $item.flatten }}
+{##}
+ $item.comment
+{##}
+{{ endif }}
+
+
diff --git a/view/theme/decaf-mobile/wall_thread_toponly.tpl b/view/theme/decaf-mobile/wall_thread_toponly.tpl
new file mode 100644
index 000000000..817432da5
--- /dev/null
+++ b/view/theme/decaf-mobile/wall_thread_toponly.tpl
@@ -0,0 +1,101 @@
+
+
+
+
+
+ {{ if $item.owner_url }}
+
+
+ {{ endif }}
+
+
+
+
+
+ {{ if $item.lock }}
+ {{ else }}
{{ endif }}
+
$item.location
+
+
+
$item.name {{ if $item.owner_url }} $item.to
$item.owner_name $item.vwall{{ endif }}
+
$item.ago
+
+
$item.title
+
$item.body
+ {{ for $item.tags as $tag }}
+
$tag
+ {{ endfor }}
+ {{ if $item.has_cats }}
+
+ {{ endif }}
+
+ {{ if $item.has_folders }}
+
+ {{ endif }}
+
+
+
+
+
$item.like
+
$item.dislike
+
+
+
+
+
+
diff --git a/view/theme/decaf-mobile/wallmessage.tpl b/view/theme/decaf-mobile/wallmessage.tpl
new file mode 100644
index 000000000..e7fa0ec04
--- /dev/null
+++ b/view/theme/decaf-mobile/wallmessage.tpl
@@ -0,0 +1,32 @@
+
+$header
+
+$subheader
+
+
+
+
+$parent
+
+$to
+$recipname
+
+$subject
+
+
+$yourmessage
+$text
+
+
+
+
+ {##}
+
+
+
+
+
+
+
diff --git a/view/theme/decaf-mobile/wallmsg-end.tpl b/view/theme/decaf-mobile/wallmsg-end.tpl
new file mode 100644
index 000000000..607413379
--- /dev/null
+++ b/view/theme/decaf-mobile/wallmsg-end.tpl
@@ -0,0 +1,2 @@
+
+
diff --git a/view/theme/decaf-mobile/wallmsg-header.tpl b/view/theme/decaf-mobile/wallmsg-header.tpl
new file mode 100644
index 000000000..dc6cb8219
--- /dev/null
+++ b/view/theme/decaf-mobile/wallmsg-header.tpl
@@ -0,0 +1,7 @@
+
+
+
diff --git a/view/theme/diabook/comment_item.tpl b/view/theme/diabook/comment_item.tpl
index fc3594fdc..6f263b3d3 100644
--- a/view/theme/diabook/comment_item.tpl
+++ b/view/theme/diabook/comment_item.tpl
@@ -3,7 +3,7 @@
-
+ {##}
diff --git a/view/theme/diabook/contact_template.tpl b/view/theme/diabook/contact_template.tpl
index 48930b48a..f7ed10750 100644
--- a/view/theme/diabook/contact_template.tpl
+++ b/view/theme/diabook/contact_template.tpl
@@ -11,7 +11,13 @@
{{ endif }}
diff --git a/view/theme/dispy/comment_item.tpl b/view/theme/dispy/comment_item.tpl
index 765b41437..e94080032 100644
--- a/view/theme/dispy/comment_item.tpl
+++ b/view/theme/dispy/comment_item.tpl
@@ -3,7 +3,7 @@
-
+ {##}
diff --git a/view/theme/dispy/contact_template.tpl b/view/theme/dispy/contact_template.tpl
index 04968bd07..e656ea552 100644
--- a/view/theme/dispy/contact_template.tpl
+++ b/view/theme/dispy/contact_template.tpl
@@ -11,7 +11,13 @@
{{ endif }}
diff --git a/view/theme/duepuntozero/comment_item.tpl b/view/theme/duepuntozero/comment_item.tpl
index 0f655ba43..24164a036 100755
--- a/view/theme/duepuntozero/comment_item.tpl
+++ b/view/theme/duepuntozero/comment_item.tpl
@@ -7,7 +7,7 @@
-
+ {##}
diff --git a/view/theme/facepark/comment_item.tpl b/view/theme/facepark/comment_item.tpl
index 7e71aa380..bb1d4fa79 100644
--- a/view/theme/facepark/comment_item.tpl
+++ b/view/theme/facepark/comment_item.tpl
@@ -3,7 +3,7 @@
-
+ {##}
diff --git a/view/theme/frost-mobile/comment_item.tpl b/view/theme/frost-mobile/comment_item.tpl
index adcd5d75e..5410cd4cf 100755
--- a/view/theme/frost-mobile/comment_item.tpl
+++ b/view/theme/frost-mobile/comment_item.tpl
@@ -1,4 +1,4 @@
-
+ -->#}
diff --git a/view/theme/frost-mobile/contact_template.tpl b/view/theme/frost-mobile/contact_template.tpl
index c27060bb3..7c19b3272 100644
--- a/view/theme/frost-mobile/contact_template.tpl
+++ b/view/theme/frost-mobile/contact_template.tpl
@@ -5,16 +5,22 @@
onmouseover="if (typeof t$contact.id != 'undefined') clearTimeout(t$contact.id);"
onmouseout="t$contact.id=setTimeout('closeMenu(\'contact-photo-menu-$contact.id\');',200)" >
-
+{##}
{{ if $contact.photo_menu }}
-
+{##}
{{ endif }}
diff --git a/view/theme/frost-mobile/photos_upload.tpl b/view/theme/frost-mobile/photos_upload.tpl
index d354bc589..43dbcaad7 100644
--- a/view/theme/frost-mobile/photos_upload.tpl
+++ b/view/theme/frost-mobile/photos_upload.tpl
@@ -18,6 +18,8 @@
+ $default_upload_box
+
$nosharetext
@@ -39,9 +41,9 @@
- $uploader
+ $alt_uploader
- $default
+ $default_upload_submit
diff --git a/view/theme/frost/comment_item.tpl b/view/theme/frost/comment_item.tpl
index 380803807..5e0919c30 100755
--- a/view/theme/frost/comment_item.tpl
+++ b/view/theme/frost/comment_item.tpl
@@ -1,4 +1,4 @@
-
+ -->#}
-
+ {##}
diff --git a/view/theme/frost/contact_template.tpl b/view/theme/frost/contact_template.tpl
index 4f66684e1..dd3dbf794 100644
--- a/view/theme/frost/contact_template.tpl
+++ b/view/theme/frost/contact_template.tpl
@@ -11,7 +11,13 @@
{{ endif }}
diff --git a/view/theme/frost/photos_upload.tpl b/view/theme/frost/photos_upload.tpl
index 2aa12a3ca..1a41fcbdb 100644
--- a/view/theme/frost/photos_upload.tpl
+++ b/view/theme/frost/photos_upload.tpl
@@ -19,6 +19,7 @@
+ $default_upload_box
@@ -41,9 +42,9 @@
- $uploader
+ $alt_uploader
- $default
+ $default_upload_submit
diff --git a/view/theme/quattro/comment_item.tpl b/view/theme/quattro/comment_item.tpl
index 3fbde1631..293f93f94 100644
--- a/view/theme/quattro/comment_item.tpl
+++ b/view/theme/quattro/comment_item.tpl
@@ -3,7 +3,7 @@
-
+ {##}
diff --git a/view/theme/quattro/contact_template.tpl b/view/theme/quattro/contact_template.tpl
index b826acc65..485ee6cac 100644
--- a/view/theme/quattro/contact_template.tpl
+++ b/view/theme/quattro/contact_template.tpl
@@ -10,7 +10,13 @@
{{ if $contact.photo_menu }}
{{ endif }}
diff --git a/view/theme/testbubble/comment_item.tpl b/view/theme/testbubble/comment_item.tpl
index 1054b23e2..f7fe22dd7 100644
--- a/view/theme/testbubble/comment_item.tpl
+++ b/view/theme/testbubble/comment_item.tpl
@@ -3,7 +3,7 @@
-
+ {##}
diff --git a/view/theme/vier/comment_item.tpl b/view/theme/vier/comment_item.tpl
index fd27e494b..4e39c0772 100644
--- a/view/theme/vier/comment_item.tpl
+++ b/view/theme/vier/comment_item.tpl
@@ -7,7 +7,7 @@
-
+ {##}