commit
b3fa03d3b4
7 changed files with 224 additions and 53 deletions
101
mod/photos.php
101
mod/photos.php
|
@ -912,7 +912,7 @@ function photos_content(&$a) {
|
|||
|
||||
|
||||
|
||||
$o = '<div id="live-display"></div>' . "\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 .= '<h3>' . '<a href="' . $a->get_baseurl() . '/photos/' . $a->data['user']['nickname'] . '/album/' . bin2hex($ph[0]['album']) . '">' . $ph[0]['album'] . '</a></h3>';
|
||||
$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 .= '<div id="photo-edit-link-wrap" ><a id="photo-edit-link" href="' . $a->get_baseurl() . '/photos/' . $a->data['user']['nickname'] . '/image/' . $datum . '/edit' . '">' . t('Edit photo') . '</a>';
|
||||
|
||||
$o .= ' - <a id="photo-toprofile-link" href="' . $a->get_baseurl() . '/profile_photo/use/'.$ph[0]['resource-id'].'">'.t('Use as profile photo').'</a>';
|
||||
$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'])) )
|
||||
? ' - <img src="images/lock_icon.gif" class="lockview" alt="' . t('Private Message') . '" onclick="lockview(event,\'photo/' . $ph[0]['id'] . '\');" />'
|
||||
: '');
|
||||
? t('Private Message')
|
||||
: Null);
|
||||
|
||||
$o .= '</div>';
|
||||
|
||||
}
|
||||
|
||||
if($prevlink)
|
||||
$o .= '<div id="photo-prev-link"><a href="' . $prevlink .'">' . t('<< Prev') . '</a></div>' ;
|
||||
$prevlink = array($prevlink, t('<< Prev')) ;
|
||||
|
||||
$o .= '<div id="photo-photo"><a href="' . $a->get_baseurl() . '/photo/'
|
||||
. $hires['resource-id'] . '-' . $hires['scale'] . '.jpg" title="'
|
||||
. t('View Full Size') . '" ><img src="' . $a->get_baseurl() . '/photo/'
|
||||
. $lores['resource-id'] . '-' . $lores['scale'] . '.jpg' . '" /></a></div>';
|
||||
$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 .= '<div id="photo-next-link"><a href="' . $nextlink .'">' . t('Next >>') . '</a></div>';
|
||||
|
||||
$o .= '<div id="photo-photo-end"></div>';
|
||||
$nextlink = array($nextlink, t('Next >>'));
|
||||
|
||||
|
||||
// Do we have an item for this photo?
|
||||
|
@ -1044,28 +1046,27 @@ function photos_content(&$a) {
|
|||
}
|
||||
}
|
||||
|
||||
$o .= '<div id="photo-caption" >' . $ph[0]['desc'] . '</div>';
|
||||
|
||||
$tags=Null;
|
||||
if(count($linked_items) && strlen($link_item['tag'])) {
|
||||
$arr = explode(',',$link_item['tag']);
|
||||
// parse tags and add links
|
||||
$o .= '<div id="in-this-photo-text">' . t('Tags: ') . '</div>';
|
||||
$o .= '<div id="in-this-photo">';
|
||||
// parse tags and add links
|
||||
$tag_str = '';
|
||||
foreach($arr as $t) {
|
||||
if(strlen($tag_str))
|
||||
$tag_str .= ', ';
|
||||
$tag_str .= bbcode($t);
|
||||
}
|
||||
$o .= $tag_str . '</div>';
|
||||
$tags = array(t('Tags: '), $tag_str);
|
||||
if($cmd === 'edit')
|
||||
$o .= '<div id="tag-remove"><a href="' . $a->get_baseurl() . '/tagrm/' . $link_item['id'] . '">' . t('[Remove any tag]') . '</a></div>';
|
||||
$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 .= '<div id="photo-like-div">';
|
||||
$o .= $likebuttons;
|
||||
$o .= '</div>';
|
||||
|
||||
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 .= '<div id="photo-like-div">';
|
||||
$o .= $likebuttons;
|
||||
$o .= $like;
|
||||
$o .= $dislike;
|
||||
$o .= '</div>';
|
||||
|
||||
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
|
|
37
view/photo_view.tpl
Normal file
37
view/photo_view.tpl
Normal file
|
@ -0,0 +1,37 @@
|
|||
<div id="live-display"></div>
|
||||
<h3><a href="$album.0">$album.1</a></h3>
|
||||
|
||||
<div id="photo-edit-link-wrap">
|
||||
{{ if $tools }}
|
||||
<a id="photo-edit-link" href="$tools.edit.0">$tools.edit.1</a>
|
||||
-
|
||||
<a id="photo-toprofile-link" href="$tools.profile.0">$tools.profile.1</a>
|
||||
{{ endif }}
|
||||
{{ if $lock }} - <img src="images/lock_icon.gif" class="lockview" alt="$lock" onclick="lockview(event,'photo$id');" /> {{ endif }}
|
||||
</div>
|
||||
|
||||
{{ if $prevlink }}<div id="photo-prev-link"><a href="$prevlink.0">$prevlink.1</a></div>{{ endif }}
|
||||
<div id="photo-photo"><a href="$photo.href" title="$photo.title"><img src="$photo.src" /></a></div>
|
||||
{{ if $nextlink }}<div id="photo-next-link"><a href="$nextlink.0">$nextlink.1</a></div>{{ endif }}
|
||||
<div id="photo-photo-end"></div>
|
||||
<div id="photo-caption" >$desc</div>
|
||||
{{ if $tags }}
|
||||
<div id="in-this-photo-text">$tags.0</div>
|
||||
<div id="in-this-photo">$tags.1</div>
|
||||
{{ endif }}
|
||||
{{ if $tags.2 }}<div id="tag-remove"><a href="$tags.2">$tags.3</a></div>{{ endif }}
|
||||
|
||||
{{ if $edit }}$edit{{ endif }}
|
||||
|
||||
{{ if $likebuttons }}
|
||||
<div id="photo-like-div">
|
||||
$likebuttons
|
||||
$like
|
||||
$dislike
|
||||
</div>
|
||||
{{ endif }}
|
||||
|
||||
$comments
|
||||
|
||||
$paginate
|
||||
|
BIN
view/theme/dispy/connect.png
Normal file
BIN
view/theme/dispy/connect.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 443 B |
BIN
view/theme/dispy/next.png
Normal file
BIN
view/theme/dispy/next.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 891 B |
40
view/theme/dispy/photo_view.tpl
Normal file
40
view/theme/dispy/photo_view.tpl
Normal file
|
@ -0,0 +1,40 @@
|
|||
<div id="live-display"></div>
|
||||
<h3><a href="$album.0">$album.1</a></h3>
|
||||
|
||||
<div id="photo-edit-link-wrap">
|
||||
{{ if $tools }}
|
||||
<a id="photo-edit-link" href="$tools.edit.0">$tools.edit.1</a>
|
||||
-
|
||||
<a id="photo-toprofile-link" href="$tools.profile.0">$tools.profile.1</a>
|
||||
{{ endif }}
|
||||
{{ if $lock }} - <img src="images/lock_icon.gif" class="lockview" alt="$lock" onclick="lockview(event,'photo$id');" /> {{ endif }}
|
||||
</div>
|
||||
|
||||
<div id="photo-photo">
|
||||
{{ if $prevlink }}<div id="photo-prev-link"><a href="$prevlink.0">$prevlink.1</a></div>{{ endif }}
|
||||
<a href="$photo.href" title="$photo.title"><img src="$photo.src" /></a>
|
||||
{{ if $nextlink }}<div id="photo-next-link"><a href="$nextlink.0">$nextlink.1</a></div>{{ endif }}
|
||||
</div>
|
||||
|
||||
<div id="photo-photo-end"></div>
|
||||
<div id="photo-caption" >$desc</div>
|
||||
{{ if $tags }}
|
||||
<div id="in-this-photo-text">$tags.0</div>
|
||||
<div id="in-this-photo">$tags.1</div>
|
||||
{{ endif }}
|
||||
{{ if $tags.2 }}<div id="tag-remove"><a href="$tags.2">$tags.3</a></div>{{ endif }}
|
||||
|
||||
{{ if $edit }}$edit{{ endif }}
|
||||
|
||||
{{ if $likebuttons }}
|
||||
<div id="photo-like-div">
|
||||
$likebuttons
|
||||
$like
|
||||
$dislike
|
||||
</div>
|
||||
{{ endif }}
|
||||
|
||||
$comments
|
||||
|
||||
$paginate
|
||||
|
BIN
view/theme/dispy/prev.png
Normal file
BIN
view/theme/dispy/prev.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 853 B |
|
@ -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; }
|
||||
*/
|
||||
.cc-license { margin-top: 100px; font-size: 0.7em; }
|
||||
footer { display: block; margin: 50px 20%; clear: both; }
|
||||
|
||||
|
|
Loading…
Reference in a new issue