';
$starred_active = '';
$new_active = '';
diff --git a/mod/settings.php b/mod/settings.php
index a073a5e98..f51a484c8 100644
--- a/mod/settings.php
+++ b/mod/settings.php
@@ -215,6 +215,12 @@ function settings_post(&$a) {
$openid = ((x($_POST,'openid_url')) ? notags(trim($_POST['openid_url'])) : '');
$maxreq = ((x($_POST,'maxreq')) ? intval($_POST['maxreq']) : 0);
$expire = ((x($_POST,'expire')) ? intval($_POST['expire']) : 0);
+
+
+ $expire_items = ((x($_POST,'expire_items')) ? intval($_POST['expire_items']) : 0);
+ $expire_notes = ((x($_POST,'expire_notes')) ? intval($_POST['expire_notes']) : 0);
+ $expire_photos = ((x($_POST,'expire_photos'))? intval($_POST['expire_photos']) : 0);
+
$allow_location = (((x($_POST,'allow_location')) && (intval($_POST['allow_location']) == 1)) ? 1: 0);
$publish = (((x($_POST,'profile_in_directory')) && (intval($_POST['profile_in_directory']) == 1)) ? 1: 0);
@@ -297,6 +303,10 @@ function settings_post(&$a) {
$openidserver = '';
}
+ set_pconfig(local_user(),'expire','items', $expire_items);
+ set_pconfig(local_user(),'expire','notes', $expire_notes);
+ set_pconfig(local_user(),'expire','photos', $expire_photos);
+
$r = q("UPDATE `user` SET `username` = '%s', `email` = '%s', `openid` = '%s', `timezone` = '%s', `allow_cid` = '%s', `allow_gid` = '%s', `deny_cid` = '%s', `deny_gid` = '%s', `notify-flags` = %d, `page-flags` = %d, `default-location` = '%s', `allow_location` = %d, `theme` = '%s', `maxreq` = %d, `expire` = %d, `openidserver` = '%s', `blockwall` = %d, `hidewall` = %d, `blocktags` = %d WHERE `uid` = %d LIMIT 1",
dbesc($username),
dbesc($email),
@@ -586,6 +596,15 @@ function settings_content(&$a) {
$blockwall = $a->user['blockwall'];
$blocktags = $a->user['blocktags'];
+ $expire_items = get_pconfig(local_user(), 'expire','items');
+ $expire_items = (($expire_items===false)?1:$expire_items); // default if not set: 1
+
+ $expire_notes = get_pconfig(local_user(), 'expire','notes');
+ $expire_notes = (($expire_notes===false)?1:$expire_notes); // default if not set: 1
+
+ $expire_photos = get_pconfig(local_user(), 'expire','photos');
+ $expire_photos = (($expire_photos===false)?0:$expire_photos); // default if not set: 0
+
if(! strlen($a->user['timezone']))
$timezone = date_default_timezone_get();
@@ -698,7 +717,13 @@ function settings_content(&$a) {
$celeb = ((($a->user['page-flags'] == PAGE_SOAPBOX) || ($a->user['page-flags'] == PAGE_COMMUNITY)) ? true : false);
-
+ $expire_arr = array(
+ 'days' => array('expire', t("Automatically expire posts after days:"), $expire, t('If empty, posts will not expire. Expired posts will be deleted')),
+ 'advanced' => t('Advanced expire settings'),
+ 'items' => array('expire_items', t("Expire posts:"), $expire_items, '', array(t('No'),t('Yes'))),
+ 'notes' => array('expire_notes', t("Expire personal notes:"), $expire_notes, '', array(t('No'),t('Yes'))),
+ 'photos' => array('expire_photos', t("Expire photos:"), $expire_photos, '', array(t('No'),t('Yes'))),
+ );
$o .= replace_macros($stpl,array(
'$tabs' => $tabs,
@@ -736,7 +761,7 @@ 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, ''),
- '$expire' => array('expire', t("Automatically expire posts after days:"), $expire, t('If empty, posts will not expire. Expired posts will be deleted')),
+ '$expire' => $expire_arr,
'$profile_in_dir' => $profile_in_dir,
'$profile_in_net_dir' => $profile_in_net_dir,
diff --git a/view/conversation.tpl b/view/conversation.tpl
index 446814959..86445aab8 100644
--- a/view/conversation.tpl
+++ b/view/conversation.tpl
@@ -5,9 +5,7 @@
{{ endfor }}
{{ if $dropping }}
-
-
+
+ $dropping
+
{{ endif }}
diff --git a/view/group_side.tpl b/view/group_side.tpl
new file mode 100644
index 000000000..596a8d13f
--- /dev/null
+++ b/view/group_side.tpl
@@ -0,0 +1,29 @@
+
+
diff --git a/view/saved_searches_aside.tpl b/view/saved_searches_aside.tpl
new file mode 100644
index 000000000..9c10a26de
--- /dev/null
+++ b/view/saved_searches_aside.tpl
@@ -0,0 +1,15 @@
+
diff --git a/view/settings.tpl b/view/settings.tpl
index 52f989f99..cd9d53963 100644
--- a/view/settings.tpl
+++ b/view/settings.tpl
@@ -55,18 +55,35 @@ $blockwall
$blocktags
-{{inc field_input.tpl with $field=$expire }}{{endinc}}
+{{inc field_input.tpl with $field=$expire.days }}{{endinc}}
+
+
+
diff --git a/view/theme/dispy/group_side.tpl b/view/theme/dispy/group_side.tpl
new file mode 100644
index 000000000..a1fc70a22
--- /dev/null
+++ b/view/theme/dispy/group_side.tpl
@@ -0,0 +1,28 @@
+
+
+
diff --git a/view/theme/dispy/saved_searches_aside.tpl b/view/theme/dispy/saved_searches_aside.tpl
new file mode 100644
index 000000000..e2aae1e77
--- /dev/null
+++ b/view/theme/dispy/saved_searches_aside.tpl
@@ -0,0 +1,14 @@
+
diff --git a/view/theme/duepuntozero/group_side.tpl b/view/theme/duepuntozero/group_side.tpl
new file mode 100644
index 000000000..a1fc70a22
--- /dev/null
+++ b/view/theme/duepuntozero/group_side.tpl
@@ -0,0 +1,28 @@
+
+
+
diff --git a/view/theme/duepuntozero/saved_searches_aside.tpl b/view/theme/duepuntozero/saved_searches_aside.tpl
new file mode 100644
index 000000000..e2aae1e77
--- /dev/null
+++ b/view/theme/duepuntozero/saved_searches_aside.tpl
@@ -0,0 +1,14 @@
+
diff --git a/view/theme/loozah/group_side.tpl b/view/theme/loozah/group_side.tpl
new file mode 100644
index 000000000..a1fc70a22
--- /dev/null
+++ b/view/theme/loozah/group_side.tpl
@@ -0,0 +1,28 @@
+
+
+
diff --git a/view/theme/loozah/saved_searches_aside.tpl b/view/theme/loozah/saved_searches_aside.tpl
new file mode 100644
index 000000000..e2aae1e77
--- /dev/null
+++ b/view/theme/loozah/saved_searches_aside.tpl
@@ -0,0 +1,14 @@
+
diff --git a/view/theme/quattro/icons.less b/view/theme/quattro/icons.less
index 525ca48d8..f87327703 100644
--- a/view/theme/quattro/icons.less
+++ b/view/theme/quattro/icons.less
@@ -20,7 +20,7 @@
.icon {
background-color: transparent ;
background-repeat: no-repeat;
- background-position: center center;
+ background-position: left center;
display: block;
overflow: hidden;
text-indent: -9999px;
@@ -31,16 +31,19 @@
}
&.s10 {
- width:10px; height: 10px;
+ min-width:10px; height: 10px;
.icons(10);
+ &.text { padding: 2px 0px 0px 15px; }
}
&.s16 {
- width:22px; height: 22px;
+ min-width:16px; height: 16px;
.icons(16);
+ &.text { padding: 4px 0px 0px 20px; }
}
&.s22 {
- width:22px; height: 22px;
+ min-width:22px; height: 22px;
.icons(22);
+ &.text { padding: 10px 0px 0px 25px; }
}
&.s48 {
width:48px; height: 48px;
diff --git a/view/theme/quattro/quattro.less b/view/theme/quattro/quattro.less
index babcff3e8..235d38db5 100644
--- a/view/theme/quattro/quattro.less
+++ b/view/theme/quattro/quattro.less
@@ -42,12 +42,17 @@ a:hover {color: @LinkHover; text-decoration: underline; }
.hidden { display: none; }
+/* tool */
+
.tool {
height: auto; overflow: auto;
.label { float: left;}
.action { float: right; }
}
+
+
+
/* popup notifications */
div.jGrowl div.notice {
background: @NoticeBackgroundColor url("../../../images/icons/48/notice.png") no-repeat 5px center;
@@ -74,7 +79,7 @@ header {
}
#banner {
-
+ overflow: hidden;
text-align: center;
width: 100%;
a, a:active, a:visited, a:link, a:hover { color: @Grey1; text-decoration: none; outline: none; vertical-align: bottom; }
@@ -228,6 +233,7 @@ ul.menu-popup {
/* aside */
aside {
display: table-cell;
+ vertical-align: top;
width: 200px;
padding:0px 10px 0px 20px;
border-right: 1px solid @AsideBorder;
@@ -260,6 +266,7 @@ aside {
#profiles-menu { width: 20em; }
+
}
#contact-block {
@@ -277,11 +284,40 @@ aside {
}
+/* widget */
+.widget {
+ margin-bottom: 2em;
+
+ h3 { padding: 0px; margin: 2px;}
+ .action { .opaque(0.1); }
+ input.action { .opaque(0.5); }
+ &:hover .title .action { .opaque(1); }
+ .tool:hover .action { .opaque(1); }
+ .tool:hover .action.ticked { .opaque(1); }
+
+ ul { padding: 0px;}
+ ul li {padding-left: 16px; min-height: 16px; list-style: none; }
+
+ .tool.selected {
+ background: url('../../../images/selected.png') no-repeat left center;
+ }
+
+ /*.action .s10 { width: 10px; overflow: hidden; padding: 0px;}
+ .action .s16 { width: 16px; overflow: hidden; padding: 0px;}*/
+
+}
+
+/* widget: search */
+#add-search-popup {
+ width: 200px;
+ top: 18px;
+}
/* section */
section {
display: table-cell;
+ vertical-align: top;
width: 800px;
padding:0px 20px 0px 10px;
}
@@ -472,14 +508,14 @@ section {
margin-top: 15px;
}
/** buttons **/
-input[type="submit"] {
+/*input[type="submit"] {
border: 0px;
background-color: @ButtonBackgroundColor;
color: @ButtonColor;
padding: 0px 10px;
.rounded(5px);
height: 18px;
-}
+}*/
/** acl **/
@@ -589,6 +625,77 @@ ul.tabs {
li {
float: left;
margin-left: 20px;
+
+ .active {
+ border-bottom: 1px solid @LinkVisited;
+ }
}
+
}
+
+/**
+ * Form fields
+ */
+.field {
+ margin-bottom: 10px;
+ padding-bottom: 10px;
+ overflow: auto;
+ width: 100%;
+
+
+ label {
+ float: left;
+ width: 200px;
+ }
+
+ input,
+ textarea {
+ width: 400px;
+ }
+ textarea { height: 100px; }
+ .field_help {
+ display: block;
+ margin-left: 200px;
+ color: #666666;
+
+ }
+
+
+ .onoff {
+ float: left;
+ width: 80px;
+ }
+ .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;
+ }
+ .onoff .off {
+ border-color:#666666;
+ padding-left: 40px;
+ background-position: left center;
+ background-color: #cccccc;
+ color: #666666;
+ text-align: right;
+ }
+ .onoff .on {
+ border-color:#204A87;
+ padding-right: 40px;
+ background-position: right center;
+ background-color: #D7E3F1;
+ color: #204A87;
+ text-align: left;
+ }
+ .hidden { display: none!important; }
+
+ &.radio .field_help { margin-left: 0px; }
+}
+
+
+/* page footer */
+footer { height: 100px; display: table-row; }
diff --git a/view/theme/quattro/style.css b/view/theme/quattro/style.css
index 560f53c2c..c13d21398 100644
--- a/view/theme/quattro/style.css
+++ b/view/theme/quattro/style.css
@@ -5,7 +5,7 @@
.icon {
background-color: transparent ;
background-repeat: no-repeat;
- background-position: center center;
+ background-position: left center;
display: block;
overflow: hidden;
text-indent: -9999px;
@@ -15,7 +15,7 @@
text-indent: 0px;
}
.icon.s10 {
- width: 10px;
+ min-width: 10px;
height: 10px;
}
.icon.s10.notify {
@@ -48,9 +48,12 @@
.icon.s10.unlock {
background-image: url("../../../images/icons/10/unlock.png");
}
+.icon.s10.text {
+ padding: 2px 0px 0px 15px;
+}
.icon.s16 {
- width: 22px;
- height: 22px;
+ min-width: 16px;
+ height: 16px;
}
.icon.s16.notify {
background-image: url("../../../images/icons/16/notify_off.png");
@@ -82,8 +85,11 @@
.icon.s16.unlock {
background-image: url("../../../images/icons/16/unlock.png");
}
+.icon.s16.text {
+ padding: 4px 0px 0px 20px;
+}
.icon.s22 {
- width: 22px;
+ min-width: 22px;
height: 22px;
}
.icon.s22.notify {
@@ -116,6 +122,9 @@
.icon.s22.unlock {
background-image: url("../../../images/icons/22/unlock.png");
}
+.icon.s22.text {
+ padding: 10px 0px 0px 25px;
+}
.icon.s48 {
width: 48px;
height: 48px;
@@ -180,6 +189,7 @@ a:hover {
.hidden {
display: none;
}
+/* tool */
.tool {
height: auto;
overflow: auto;
@@ -218,6 +228,7 @@ header #site-location {
display: none;
}
header #banner {
+ overflow: hidden;
text-align: center;
width: 100%;
}
@@ -430,6 +441,7 @@ ul.menu-popup .empty {
/* aside */
aside {
display: table-cell;
+ vertical-align: top;
width: 200px;
padding: 0px 10px 0px 20px;
border-right: 1px solid #bdcdd4;
@@ -506,9 +518,77 @@ aside #profiles-menu {
float: left;
margin: 0px 2px 2px 0px;
}
+/* widget */
+.widget {
+ margin-bottom: 2em;
+ /*.action .s10 { width: 10px; overflow: hidden; padding: 0px;}
+ .action .s16 { width: 16px; overflow: hidden; padding: 0px;}*/
+
+}
+.widget h3 {
+ padding: 0px;
+ margin: 2px;
+}
+.widget .action {
+ opacity: 0.1;
+ -webkit-transition: all 0.2s ease-in-out;
+ -moz-transition: all 0.2s ease-in-out;
+ -o-transition: all 0.2s ease-in-out;
+ -ms-transition: all 0.2s ease-in-out;
+ transition: all 0.2s ease-in-out;
+}
+.widget input.action {
+ opacity: 0.5;
+ -webkit-transition: all 0.2s ease-in-out;
+ -moz-transition: all 0.2s ease-in-out;
+ -o-transition: all 0.2s ease-in-out;
+ -ms-transition: all 0.2s ease-in-out;
+ transition: all 0.2s ease-in-out;
+}
+.widget:hover .title .action {
+ opacity: 1;
+ -webkit-transition: all 0.2s ease-in-out;
+ -moz-transition: all 0.2s ease-in-out;
+ -o-transition: all 0.2s ease-in-out;
+ -ms-transition: all 0.2s ease-in-out;
+ transition: all 0.2s ease-in-out;
+}
+.widget .tool:hover .action {
+ opacity: 1;
+ -webkit-transition: all 0.2s ease-in-out;
+ -moz-transition: all 0.2s ease-in-out;
+ -o-transition: all 0.2s ease-in-out;
+ -ms-transition: all 0.2s ease-in-out;
+ transition: all 0.2s ease-in-out;
+}
+.widget .tool:hover .action.ticked {
+ opacity: 1;
+ -webkit-transition: all 0.2s ease-in-out;
+ -moz-transition: all 0.2s ease-in-out;
+ -o-transition: all 0.2s ease-in-out;
+ -ms-transition: all 0.2s ease-in-out;
+ transition: all 0.2s ease-in-out;
+}
+.widget ul {
+ padding: 0px;
+}
+.widget ul li {
+ padding-left: 16px;
+ min-height: 16px;
+ list-style: none;
+}
+.widget .tool.selected {
+ background: url('../../../images/selected.png') no-repeat left center;
+}
+/* widget: search */
+#add-search-popup {
+ width: 200px;
+ top: 18px;
+}
/* section */
section {
display: table-cell;
+ vertical-align: top;
width: 800px;
padding: 0px 20px 0px 10px;
}
@@ -743,16 +823,14 @@ section {
margin-top: 15px;
}
/** buttons **/
-input[type="submit"] {
- border: 0px;
- background-color: #2d2d2d;
- color: #ffffff;
- padding: 0px 10px;
- -moz-border-radius: 5px 5px 5px 5px;
- -webkit-border-radius: 5px 5px 5px 5px;
- border-radius: 5px 5px 5px 5px;
- height: 18px;
-}
+/*input[type="submit"] {
+ border: 0px;
+ background-color: @ButtonBackgroundColor;
+ color: @ButtonColor;
+ padding: 0px 10px;
+ .rounded(5px);
+ height: 18px;
+}*/
/** acl **/
#photo-edit-perms-select, #photos-upload-permissions-wrapper, #profile-jot-acl-wrapper {
display: block!important;
@@ -866,3 +944,70 @@ ul.tabs li {
float: left;
margin-left: 20px;
}
+ul.tabs li .active {
+ border-bottom: 1px solid #005c94;
+}
+/**
+ * Form fields
+ */
+.field {
+ margin-bottom: 10px;
+ padding-bottom: 10px;
+ overflow: auto;
+ width: 100%;
+}
+.field label {
+ float: left;
+ width: 200px;
+}
+.field input, .field textarea {
+ width: 400px;
+}
+.field textarea {
+ height: 100px;
+}
+.field .field_help {
+ display: block;
+ margin-left: 200px;
+ color: #666666;
+}
+.field .onoff {
+ float: left;
+ width: 80px;
+}
+.field .onoff a {
+ display: block;
+ border: 1px solid #666666;
+ background-image: url("../../../images/onoff.jpg");
+ background-repeat: no-repeat;
+ padding: 4px 2px 2px 2px;
+ height: 16px;
+ text-decoration: none;
+}
+.field .onoff .off {
+ border-color: #666666;
+ padding-left: 40px;
+ background-position: left center;
+ background-color: #cccccc;
+ color: #666666;
+ text-align: right;
+}
+.field .onoff .on {
+ border-color: #204A87;
+ padding-right: 40px;
+ background-position: right center;
+ background-color: #D7E3F1;
+ color: #204A87;
+ text-align: left;
+}
+.field .hidden {
+ display: none!important;
+}
+.field.radio .field_help {
+ margin-left: 0px;
+}
+/* page footer */
+footer {
+ height: 100px;
+ display: table-row;
+}
diff --git a/view/theme/testbubble/group_side.tpl b/view/theme/testbubble/group_side.tpl
new file mode 100644
index 000000000..a1fc70a22
--- /dev/null
+++ b/view/theme/testbubble/group_side.tpl
@@ -0,0 +1,28 @@
+
+
+
diff --git a/view/theme/testbubble/saved_searches_aside.tpl b/view/theme/testbubble/saved_searches_aside.tpl
new file mode 100644
index 000000000..e2aae1e77
--- /dev/null
+++ b/view/theme/testbubble/saved_searches_aside.tpl
@@ -0,0 +1,14 @@
+