diff --git a/mod/photos.php b/mod/photos.php
index 86c2cb597..7f94bc520 100644
--- a/mod/photos.php
+++ b/mod/photos.php
@@ -912,7 +912,7 @@ function photos_content(&$a) {
- $o = '
' . "\r\n";
+ $o = '';
// fetch image, item containing image, then comments
$ph = q("SELECT * FROM `photo` WHERE `uid` = %d AND `resource-id` = '%s'
@@ -965,34 +965,36 @@ function photos_content(&$a) {
}
}
-
- $o .= '';
+ $album_link = $a->get_baseurl() . '/photos/' . $a->data['user']['nickname'] . '/album/' . bin2hex($ph[0]['album']);
+ $tools = Null;
+ $lock = Null;
if($can_post && ($ph[0]['uid'] == $owner_uid)) {
- $o .= '' . t('Edit photo') . '';
-
- $o .= ' -
'.t('Use as profile photo').'';
+ $tools = array(
+ 'edit' => array($a->get_baseurl() . '/photos/' . $a->data['user']['nickname'] . '/image/' . $datum . '/edit', t('Edit photo')),
+ 'profile'=>array($a->get_baseurl() . '/profile_photo/use/'.$ph[0]['resource-id'], t('Use as profile photo')),
+ );
+
// lock
- $o .= ( ( ($ph[0]['uid'] == local_user()) && (strlen($ph[0]['allow_cid']) || strlen($ph[0]['allow_gid'])
+ $lock = ( ( ($ph[0]['uid'] == local_user()) && (strlen($ph[0]['allow_cid']) || strlen($ph[0]['allow_gid'])
|| strlen($ph[0]['deny_cid']) || strlen($ph[0]['deny_gid'])) )
- ? ' -
'
- : '');
+ ? t('Private Message')
+ : Null);
- $o .= '
';
+
}
if($prevlink)
- $o .= '' ;
+ $prevlink = array($prevlink, t('<< Prev')) ;
- $o .= '';
+ $photo = array(
+ 'href' => $a->get_baseurl() . '/photo/' . $hires['resource-id'] . '-' . $hires['scale'] . '.jpg',
+ 'title'=> t('View Full Size'),
+ 'src' => $a->get_baseurl() . '/photo/' . $lores['resource-id'] . '-' . $lores['scale'] . '.jpg'
+ );
if($nextlink)
- $o .= '';
-
- $o .= '';
+ $nextlink = array($nextlink, t('Next >>'));
// Do we have an item for this photo?
@@ -1044,28 +1046,27 @@ function photos_content(&$a) {
}
}
- $o .= '' . $ph[0]['desc'] . '
';
-
+ $tags=Null;
if(count($linked_items) && strlen($link_item['tag'])) {
$arr = explode(',',$link_item['tag']);
- // parse tags and add links
- $o .= '' . t('Tags: ') . '
';
- $o .= '';
+ // parse tags and add links
$tag_str = '';
foreach($arr as $t) {
if(strlen($tag_str))
$tag_str .= ', ';
$tag_str .= bbcode($t);
}
- $o .= $tag_str . '
';
+ $tags = array(t('Tags: '), $tag_str);
if($cmd === 'edit')
- $o .= '';
+ $tags[] = $a->get_baseurl() . '/tagrm/' . $link_item['id'];
+ $tags[] = t('[Remove any tag]');
}
+ $edit = Null;
if(($cmd === 'edit') && ($can_post)) {
$edit_tpl = load_view_file('view/photo_edit.tpl');
- $o .= replace_macros($edit_tpl, array(
+ $edit = replace_macros($edit_tpl, array(
'$id' => $ph[0]['id'],
'$album' => $ph[0]['album'],
'$newalbum' => t('New album name'),
@@ -1096,22 +1097,19 @@ function photos_content(&$a) {
if($can_post || can_write_wall($a,$owner_uid)) {
$likebuttons = replace_macros($like_tpl,array(
- '$id' => $item['id'],
+ '$id' => $link_item['id'],
'$likethis' => t("I like this \x28toggle\x29"),
'$nolike' => t("I don't like this \x28toggle\x29"),
'$share' => t('Share'),
- '$wait' => t('Please wait')
+ '$wait' => t('Please wait')
));
}
+ $comments = '';
if(! count($r)) {
- $o .= '';
- $o .= $likebuttons;
- $o .= '
';
-
if($can_post || can_write_wall($a,$owner_uid)) {
if($link_item['last-child']) {
- $o .= replace_macros($cmnt_tpl,array(
+ $comments .= replace_macros($cmnt_tpl,array(
'$return_path' => '',
'$jsreload' => $return_url,
'$type' => 'wall-comment',
@@ -1131,6 +1129,9 @@ function photos_content(&$a) {
$alike = array();
$dlike = array();
+
+ $like = '';
+ $dislike = '';
// display comments
if(count($r)) {
@@ -1143,17 +1144,11 @@ function photos_content(&$a) {
$like = ((isset($alike[$link_item['id']])) ? format_like($alike[$link_item['id']],$alike[$link_item['id'] . '-l'],'like',$link_item['id']) : '');
$dislike = ((isset($dlike[$link_item['id']])) ? format_like($dlike[$link_item['id']],$dlike[$link_item['id'] . '-l'],'dislike',$link_item['id']) : '');
- $o .= '';
- $o .= $likebuttons;
- $o .= $like;
- $o .= $dislike;
- $o .= '
';
-
if($can_post || can_write_wall($a,$owner_uid)) {
if($link_item['last-child']) {
- $o .= replace_macros($cmnt_tpl,array(
+ $comments .= replace_macros($cmnt_tpl,array(
'$return_path' => '',
'$jsreload' => $return_url,
'$type' => 'wall-comment',
@@ -1182,7 +1177,7 @@ function photos_content(&$a) {
if($can_post || can_write_wall($a,$owner_uid)) {
if($item['last-child']) {
- $comment = replace_macros($cmnt_tpl,array(
+ $comments .= replace_macros($cmnt_tpl,array(
'$return_path' => '',
'$jsreload' => $return_url,
'$type' => 'wall-comment',
@@ -1221,7 +1216,7 @@ function photos_content(&$a) {
$drop = replace_macros(load_view_file('view/wall_item_drop.tpl'), array('$id' => $item['id'], '$delete' => t('Delete')));
- $o .= replace_macros($template,array(
+ $comments .= replace_macros($template,array(
'$id' => $item['item_id'],
'$profile_url' => $profile_link,
'$name' => $profile_name,
@@ -1237,8 +1232,28 @@ function photos_content(&$a) {
}
}
- $o .= paginate($a);
+ $paginate = paginate($a);
}
+
+ $photo_tpl = load_view_file('view/photo_view.tpl');
+ $o .= replace_macros($photo_tpl, array(
+ '$id' => $ph[0]['id'],
+ '$album' => array($album_link,$ph[0]['album']),
+ '$tools' => $tools,
+ '$lock' => $lock,
+ '$photo' => $photo,
+ '$prevlink' => $prevlink,
+ '$nextlink' => $nextlink,
+ '$desc' => $ph[0]['desc'],
+ '$tags' => $tags,
+ '$edit' => $edit,
+ '$likebuttons' => $likebuttons,
+ '$like' => $like,
+ '$dislike' => $dislike,
+ '$comments' => $comments,
+ '$paginate' => $paginate,
+ ));
+
return $o;
}
diff --git a/view/photo_view.tpl b/view/photo_view.tpl
new file mode 100644
index 000000000..6287b0898
--- /dev/null
+++ b/view/photo_view.tpl
@@ -0,0 +1,37 @@
+
+
+
+
+
+{{ if $prevlink }}{{ endif }}
+
+{{ if $nextlink }}{{ endif }}
+
+$desc
+{{ if $tags }}
+$tags.0
+$tags.1
+{{ endif }}
+{{ if $tags.2 }}{{ endif }}
+
+{{ if $edit }}$edit{{ endif }}
+
+{{ if $likebuttons }}
+
+ $likebuttons
+ $like
+ $dislike
+
+{{ endif }}
+
+$comments
+
+$paginate
+
diff --git a/view/theme/dispy/connect.png b/view/theme/dispy/connect.png
new file mode 100644
index 000000000..b76fc13dc
Binary files /dev/null and b/view/theme/dispy/connect.png differ
diff --git a/view/theme/dispy/next.png b/view/theme/dispy/next.png
new file mode 100644
index 000000000..353e2e72a
Binary files /dev/null and b/view/theme/dispy/next.png differ
diff --git a/view/theme/dispy/photo_view.tpl b/view/theme/dispy/photo_view.tpl
new file mode 100644
index 000000000..4582751c6
--- /dev/null
+++ b/view/theme/dispy/photo_view.tpl
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+ {{ if $prevlink }}
{{ endif }}
+
+ {{ if $nextlink }}
{{ endif }}
+
+
+
+$desc
+{{ if $tags }}
+$tags.0
+$tags.1
+{{ endif }}
+{{ if $tags.2 }}{{ endif }}
+
+{{ if $edit }}$edit{{ endif }}
+
+{{ if $likebuttons }}
+
+ $likebuttons
+ $like
+ $dislike
+
+{{ endif }}
+
+$comments
+
+$paginate
+
diff --git a/view/theme/dispy/prev.png b/view/theme/dispy/prev.png
new file mode 100644
index 000000000..0ae6022af
Binary files /dev/null and b/view/theme/dispy/prev.png differ
diff --git a/view/theme/dispy/style.css b/view/theme/dispy/style.css
index 7d7dc1098..17b3a61b6 100644
--- a/view/theme/dispy/style.css
+++ b/view/theme/dispy/style.css
@@ -39,6 +39,16 @@ input[type=submit] {
padding:1em;
}
+.pager {
+ padding-top: 30px;
+ display:block;
+ clear: both;
+ text-align: center;
+}
+
+.pager span { padding: 4px; margin:4px; }
+.pager_current { background-color: #729fcf; color: #ffffff; }
+
/**
* login
*/
@@ -201,7 +211,7 @@ aside #viewcontacts { text-align: right;}
#profile-extra-links ul { margin-left: 0px; padding-left: 0px; list-style: none; }
#dfrn-request-link {
- background: #3465A4 url('connect.png') no-repeat right center;
+ background: #3465A4 url('connect.png') no-repeat 95% center;
border-radius: 5px 5px 5px 5px;
color: #FFFFFF;
display: block;
@@ -296,6 +306,8 @@ aside #viewcontacts { text-align: right;}
#acl-deny-group-label,
#acl-deny-contact-label { display: block }
+#group_allow, #contact_allow,
+#group_deny, #contact_deny,
#profile-jot-acl-wrapper select { width: 100%; }
#acl-wrapper-end,
@@ -324,7 +336,7 @@ section { margin: 10px 11% 0px 11%; font-size: 0.8em; padding-right: 230px;}
.wall-item-photo-menu { display: none;}
.wall-item-photo-menu-button {
display:none;
- text-indent: -9999px;
+ text-indent: -99999px;
background: #555753 url("menu-user-pin.jpg") no-repeat 75px center;
position: absolute;
overflow: hidden;
@@ -491,6 +503,9 @@ section { margin: 10px 11% 0px 11%; font-size: 0.8em; padding-right: 230px;}
/**
* photos
**/
+#photo-top-links {
+ margin-bottom:30px;
+}
.photo-album-image-wrapper,
.photo-top-image-wrapper {
float: left;
@@ -499,12 +514,12 @@ section { margin: 10px 11% 0px 11%; font-size: 0.8em; padding-right: 230px;}
-webkit-box-shadow: 0px 0px 5px #888;
box-shadow: 0px 0px 5px #888;
background-color: #eeeeee;
- -webkit-border-radius: 5px;
- -moz-border-radius: 5px;
- border-radius: 5px;
-
- height: 265px;
- position:relative;
+ -webkit-border-radius: 5px;
+ -moz-border-radius: 5px;
+ border-radius: 5px;
+
+ padding-bottom: 30px;
+ position:relative;
}
@@ -524,6 +539,61 @@ section { margin: 10px 11% 0px 11%; font-size: 0.8em; padding-right: 230px;}
.photo-top-album-name { position: absolute; bottom: 0px; padding: 0px 5px;}
.caption { position: absolute; bottom: 0px; margin: 0px 5px}
+
+#photo-photo{
+ position: relative;
+ float:left;
+}
+#photo-photo-end { clear: both; }
+#photo-prev-link,
+#photo-next-link{
+ position: absolute;
+ width:30%;
+ height: 100%;
+ background-color: rgba(255,255,255,0.5);
+ opacity: 0;
+ -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;
+ background-position: center center;
+ background-repeat: no-repeat;
+
+}
+#photo-prev-link { left:0px; top:0px; background-image: url('prev.png'); }
+#photo-next-link { right:0px; top:0px; background-image: url('next.png');}
+
+#photo-prev-link a,
+#photo-next-link a{
+ display: block; width: 100%; height: 100%;
+ overflow: hidden;
+ text-indent: -900000px;
+}
+
+#photo-prev-link:hover,
+#photo-next-link:hover{
+ 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;
+}
+
+#photos-upload-spacer,
+#photos-upload-new-wrapper,
+#photos-upload-exist-wrapper { margin-bottom: 1em; }
+#photos-upload-existing-album-text,
+#photos-upload-newalbum-div {
+ background-color: #555753;
+ color: #eeeeec;
+ padding: 1px;
+}
+#photos-upload-album-select,
+#photos-upload-newalbum { width: 99% }
+#photos-upload-perms-menu { text-align: right; }
+
/**
* message
*/
@@ -551,6 +621,7 @@ section { margin: 10px 11% 0px 11%; font-size: 0.8em; padding-right: 230px;}
* contacts
*/
+.view-contact-wrapper,
.contact-entry-wrapper { float: left; margin-right: 20px; margin-bottom: 20px; position: relative;}
.contact-entry-direction-wrapper {position: absolute; top: 20px;}
.contact-entry-edit-links { position: absolute; top: 60px; }
@@ -652,6 +723,12 @@ section { margin: 10px 11% 0px 11%; font-size: 0.8em; padding-right: 230px;}
#prof-separator { display: none;}
+/**
+ * profile
+ */
+#cropimage-wrapper { float:left; }
+#crop-image-form { clear:both; }
+
/**
* directory
@@ -706,5 +783,7 @@ section { margin: 10px 11% 0px 11%; font-size: 0.8em; padding-right: 230px;}
/**
* footer
- */
.cc-license { margin-top: 100px; font-size: 0.7em; }
-footer { display: block; margin: 50px 20%; clear: both; }
\ No newline at end of file
+ */
+ .cc-license { margin-top: 100px; font-size: 0.7em; }
+footer { display: block; margin: 50px 20%; clear: both; }
+