From b3a5fccc9d4af4dc66ae8f0404817690a333c433 Mon Sep 17 00:00:00 2001
From: Fabio Comuni <fabrix.xm@gmail.com>
Date: Thu, 5 May 2011 10:53:03 +0200
Subject: [PATCH 1/2] template for photo display

---
 mod/photos.php      | 101 +++++++++++++++++++++++++-------------------
 view/photo_view.tpl |  37 ++++++++++++++++
 2 files changed, 95 insertions(+), 43 deletions(-)
 create mode 100644 view/photo_view.tpl

diff --git a/mod/photos.php b/mod/photos.php
index 324ce898d2..5f4c5b3917 100644
--- a/mod/photos.php
+++ b/mod/photos.php
@@ -909,7 +909,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' 
@@ -962,34 +962,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?
@@ -1041,28 +1043,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'), 
@@ -1093,22 +1094,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',
@@ -1128,6 +1126,9 @@ function photos_content(&$a) {
 
 			$alike = array();
 			$dlike = array();
+			
+			$like = '';
+			$dislike = '';
 
 			// display comments
 			if(count($r)) {
@@ -1140,17 +1141,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',
@@ -1179,7 +1174,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',
@@ -1218,7 +1213,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,
@@ -1234,8 +1229,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 0000000000..6287b0898e
--- /dev/null
+++ b/view/photo_view.tpl
@@ -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
+

From b70a2dad33d25e04309dc0e404b62628bf2acfd2 Mon Sep 17 00:00:00 2001
From: Fabio Comuni <fabrix.xm@gmail.com>
Date: Thu, 5 May 2011 10:53:25 +0200
Subject: [PATCH 2/2] Dispy theme works

---
 view/theme/dispy/connect.png    | Bin 0 -> 443 bytes
 view/theme/dispy/nav.tpl        |   2 +-
 view/theme/dispy/next.png       | Bin 0 -> 891 bytes
 view/theme/dispy/photo_view.tpl |  40 +++++++++
 view/theme/dispy/prev.png       | Bin 0 -> 853 bytes
 view/theme/dispy/style.css      | 151 ++++++++++++++++++++++++++++----
 6 files changed, 175 insertions(+), 18 deletions(-)
 create mode 100644 view/theme/dispy/connect.png
 create mode 100644 view/theme/dispy/next.png
 create mode 100644 view/theme/dispy/photo_view.tpl
 create mode 100644 view/theme/dispy/prev.png

diff --git a/view/theme/dispy/connect.png b/view/theme/dispy/connect.png
new file mode 100644
index 0000000000000000000000000000000000000000..b76fc13dce9eee21d5a9449f80e21444c801cabe
GIT binary patch
literal 443
zcmV;s0Yv_ZP)<h;3K|Lk000e1NJLTq000mG000gM1^@s6CNG?d00004b3#c}2nYxW
zd<bNS00009a7bBm000fw000fw0YWI7cmMzZ8FWQhbW?9;ba!ELWdL_~cP?peYja~^
zaAhuUa%Y?FJQ@H10XRuSK~yM_rIN8O1W^=*zyGcsD!Z8#5+$NgZ-`Q&RC@=l7KMsL
z!VBm`LeyS>!~>``3MAvsy{nQinWJDuHZx1&Pfqp!=gT=cM`lKyLI}%}9ZNh)BkQeJ
zD-LE{Z8zYYZ2}8steO=om6>6HveX4oNah=j<f<}cW<$&S=aXLVxm)KCo#1l~CW=B&
zwf=7a&}666$^HQ#0p4o?-uw9w{85bg2B5x?W!Y4W{@je2Ue8xv0AR#9ol0~8Ldd5<
z*Upu1Nz&LdV^sn(T>|4kQ32q`FWJ0A6G+T71AW8BLI{g#n%)co^zxF;6@}Xd-KJ@J
z*f;V#UviF9U;=aoESTAybB*10yM6x+81~9Q^J{Dah|#Y}+9^vDFbnMc2B?x^%wK^~
l;NdT49F&>aKJXyv-~)f?rYbayUt9nH002ovPDHLkV1mQvvw#2q

literal 0
HcmV?d00001

diff --git a/view/theme/dispy/nav.tpl b/view/theme/dispy/nav.tpl
index ee96641b28..3938777e96 100644
--- a/view/theme/dispy/nav.tpl
+++ b/view/theme/dispy/nav.tpl
@@ -1,6 +1,6 @@
 $langselector
-<span id="banner">$banner</span>
 
+<span id="banner">$banner</span>
 
 {{ if $nav.login }}<a id="nav-login-link" class="nav-link $nav.login.2" href="$nav.login.0" title="$nav.login.1">$nav.login.1</a> {{ endif }}
 <a id="nav-search-link" class="nav-link $nav.search.2" href="$nav.search.0" title="$nav.search.1">$nav.search.1</a>
diff --git a/view/theme/dispy/next.png b/view/theme/dispy/next.png
new file mode 100644
index 0000000000000000000000000000000000000000..353e2e72a6513fac3f3775b347354a4fbbb7c622
GIT binary patch
literal 891
zcmV->1BCpEP)<h;3K|Lk000e1NJLTq000*N001Wl1^@s6<WSQM00004b3#c}2nYxW
zd<bNS00009a7bBm000fw000fw0YWI7cmMzZ8FWQhbW?9;ba!ELWdL_~cP?peYja~^
zaAhuUa%Y?FJQ@H10{BTpK~zYIrPIG}8)Y2F@%Qs2xc-si8n@yPU|?WiWFk${f*_?X
zkoFoZandar`5#zVSi0Wi4Uuc=#Ex@;q|$X_j})j719Re9h4@E~v$-z=O%%1Z@3H$#
z);*tleZKd|j}j5e<?_{kCAu#{8Bxy_@?d>^<1w$f)Y{tG8_)l4Jq6x*Y3~WKzU_Hl
zXIfnUb<$cJ0s}0dW8b#z+|;-TUys@UFpPRr7ibZFNyyAkTcFiUyl0S`5BuGnNelFQ
z@4mmM;9+7?)b%jxHA<yY))ZGF!s6oM?6tRxKLRTT?>q^6(XD#D-b)H<fFKA4&7;;T
zP&L38(%F>J7wEGeK@bcI`Qj>~HVq0E)0s=#mSts(Z~)hJ`-LlS-3PW3c_mBecx-`w
z`GM=Y{X)KI0ky;exG}Ea75qZMJw(+F3+lrPl!%Oc%d)H#I^F<oCsv5s&t>OIl}aTX
zJNeo2JTD^FcY#JCuH>WcX}jh)PTFYlvt?OU3MEyP+)50?UM_R_PNh-_jc|bF<>gCr
zZ)U5&vO)ak=27c2WBfwFCh%!uSjnA<@biMpxh<4@k`S#;j02R*<*S1@`V*KN6AQ=w
zTZS#$wsV6xswTi7YImZ^ZQIU;QO^hFld?)=$$0WfU_@=KuRjWm@KULi4g1|4BN!ev
zkDq-7Flz#*v#A|~>jrSOdDL1Bf?xm%*Z&3F02UHiQJaN)@f?OR*Wa?N3`!a(Su&V-
ztB@~RuIu(MJ{)>1mStto@is6u3`36P1zZPi7{Ikr@GH3EIBAsBfSZY|sCpq^yf+Gl
z3uo>)PP%*At^pq#OuS93?|PmWjSJ~1;D!l&j(1Pn-URT92@EiE`1|1p3cgQFirPWU
zVSrgJd}EOFJMHd@@B79u{C_N05;D7;liruU@BcFi44?(|!^mAxKXp!eUrYl7=u9fJ
z1so39+wHWwpHB+|%p4pX^nd&HseAma`G-<c1XWeSx6R|$cl-PMBQJ=_`VVK<WtUF)
Rcnkml002ovPDHLkV1o5coE!iE

literal 0
HcmV?d00001

diff --git a/view/theme/dispy/photo_view.tpl b/view/theme/dispy/photo_view.tpl
new file mode 100644
index 0000000000..4582751c60
--- /dev/null
+++ b/view/theme/dispy/photo_view.tpl
@@ -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
+
diff --git a/view/theme/dispy/prev.png b/view/theme/dispy/prev.png
new file mode 100644
index 0000000000000000000000000000000000000000..0ae6022af5701934cfa5e3e7391fcab8827398c0
GIT binary patch
literal 853
zcmV-b1FHOqP)<h;3K|Lk000e1NJLTq000*N001Wl1^@s6<WSQM00004b3#c}2nYxW
zd<bNS00009a7bBm000fw000fw0YWI7cmMzZ8FWQhbW?9;ba!ELWdL_~cP?peYja~^
zaAhuUa%Y?FJQ@H10@6uDK~zYIwU^6M6JZdAPfs$F5N={h*;_t>Rchfa8%+jGL}bvC
z!sTpv4;QRc?x=t;3715SXsPjjc>vkC(XGl=2q7WUE(lZtA=4q!%lS`zr>kfB?;c`i
zG!mw1s!OX&eG2UB4C-R$agW+G5{t#ws1dlX>z<a@=2;L2D-H;YE)>tX|2r4}82%z$
z_m7mhuIrwbHs1_@Pz~8P<%r;E2Qa|&qpr*i!_YuH4dQMmEir=Pnj40pL9wR*ID!GZ
zvaG2WqOz2Mdj#@KE}IWCGdsdd;DiwTCYR0kq*AFY0Mvw=rm2EB4&bIEmiVn#^X-8F
z;Lw_zrl~HkF2+F!3o?G^Rhzp<M@KixA6Cu01hxP~1mO2x&8P1N1Hge#u?&365lj35
zMOVnOto3Tg6`7l+sV=W9O^U$4$6DYDcpwmPFRw06fVfu#wv}KlFi?7-fk420s?$FK
z;I;t#X=}3(N+y#v!9XeV)1Cft0DX>F;?G-~g<vw7{3}QTu7!n#s~~<T(0<X}O~H6P
zE&>C90>vH{=)P)h?~Pb2wk8Gdz=4C8eP!fbwB27X7yuLko;YZ<BD>>*gM)2#!&$K(
z33TW4+qviU8YuC{GcUoE5NI#ti<|S2NTgK^XJ-EW>(4y^Q;uq;i=HM`Y_NB?lp1Lg
zvPKeh=wAD0GMVj;cK=;4%?RLKQ0#fbFj_=#0EkATg^m*^2LQ~93|z%$wG0m2=h0}i
z(9!NUL<UTkpxEi5p`m6Ge4jzm(Ezxd%V(<^96Ccw2K``42@I~}3L8)N8#pdSWz*kz
zNbgMlZqf7y0L!xSu$4Oi<^=F-UY|A>4u^e!AoJa*YcXPa4W`hs?TQR~Q1=R5w&m)z
zbOatd&i(vn-TOHJq|@oG^|fp-nC1`D5NNXTf1>IoT2Wn|GY!FaV_={!z)*%ke3qFl
fcGGxbEb;vxK8sTe6HUu~00000NkvXXu0mjf@o{<!

literal 0
HcmV?d00001

diff --git a/view/theme/dispy/style.css b/view/theme/dispy/style.css
index f688f42720..17b3a61b67 100644
--- a/view/theme/dispy/style.css
+++ b/view/theme/dispy/style.css
@@ -11,6 +11,8 @@ a:hover { color: #729fcf; padding-bottom: 0px; border-bottom: 1px dotted #729fcf
 
 
 .required { display: inline; color: #ff0000;}
+.fakelink { color: #3465a4; cursor: pointer; }
+.fakelink :hover{ color: #729fcf; }
 
 input[type=submit] {
 	margin-top: 20px;
@@ -23,7 +25,29 @@ input[type=submit] {
 	border: 0px;	
 }
 
+.smalltext { font-size: 0.7em }
 
+#panel {
+	position: absolute;
+	font-size:0.8em;
+	-webkit-border-radius: 5px ;
+	-moz-border-radius: 5px;
+	border-radius: 5px;
+	border: 1px solid #ffffff;
+	background-color: #2e3436;
+	color: #eeeeec;
+	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
@@ -148,11 +172,21 @@ nav .nav-link {
 
 /** sysmsg **/
 #sysmsg { 
-	position:absolute; top: 20px; left:40%; 
+	position:fixed; 
+	bottom: 0px; right:10%; 
 	-moz-box-shadow: 0px 0px 5px #888;
 	-webkit-box-shadow: 0px 0px 5px #888;
 	box-shadow: 0px 0px 5px #888;
-	padding: 10px; background-color: #fff;
+	padding: 10px; 
+	background-color: #fcaf3e; border:2px solid #f8911b;
+	border-bottom:0px;
+	padding-bottom: 50px;	
+	z-index: 1000;
+}
+#sysmsg br {
+	display:block;
+	margin:2px 0px;
+	border-top: 1px solid #ccccce;
 }
 
 /**
@@ -174,6 +208,17 @@ aside h4 { font-size: 1.2em; }
 
 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 95% center;
+    border-radius: 5px 5px 5px 5px;
+    color: #FFFFFF;
+    display: block;
+    font-size: 1.2em;
+    padding: 0.2em 0.5em;
+}
+
 /**
 * contacts block
 */
@@ -223,7 +268,7 @@ aside #viewcontacts { text-align: right;}
 #profile-jot-banner-end { clear: both; }
 
 #profile-jot-email-wrapper {
-	margin: 10px 20% 0px 20%;
+	margin: 10px 10% 0px 10%;
 	border: 1px solid #555753;
 	border-bottom: 0px;
 }
@@ -231,14 +276,14 @@ aside #viewcontacts { text-align: right;}
 #profile-jot-email { margin: 5px; width: 90%; }
 	
 #profile-jot-networks {
-	margin: 0px 20%;
+	margin: 0px 10%;
 	border: 1px solid #555753;
 	border-top: 0px;
 	border-bottom: 0px;
 	padding: 5px;
 }
 #profile-jot-acl-wrapper {
-	margin: 0px 20%;
+	margin: 0px 10%;
 	border: 1px solid #555753;
 	border-top: 0px;
 }
@@ -261,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,
@@ -289,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;
@@ -356,7 +403,9 @@ section { margin: 10px 11% 0px 11%; font-size: 0.8em; padding-right: 230px;}
 	-o-text-overflow: ellipsis;
 }
 .wall-item-location .icon { float: left; }
-.wall-item-location a { margin-left: 25px; display: block; font-size: 0.7em; }
+.wall-item-location > a { margin-left: 25px;  font-size: 0.7em; display: block;}
+.wall-item-location .smalltext { margin-left: 25px;  font-size: 0.7em; display: block;}
+.wall-item-location > br { display: none; }
 
 .wallwall .wwto {
     left: -10px;
@@ -395,11 +444,12 @@ section { margin: 10px 11% 0px 11%; font-size: 0.8em; padding-right: 230px;}
 .wall-item-photo-menu li a { white-space: nowrap;  display: block; padding: 5px 2px; 	color: #eeeeec;	 }
 .wall-item-photo-menu li a:hover { color: #555753; background: #eeeeec; }
 
-
-
 /**
  * 	comment
  */
+ 
+ .ccollapse-wrapper { font-size: 0.9em; margin-left: 80px; }
+ 
 .wall-item-outside-wrapper.comment { margin-left: 80px; }
 .wall-item-outside-wrapper.comment .wall-item-photo { width: 40px; height: 40px;}
 .wall-item-outside-wrapper.comment .wall-item-photo-wrapper {width: 40px; height: 40px; }
@@ -453,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; 
@@ -461,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;
 	
 }
 
@@ -486,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
  */
@@ -513,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; }
@@ -614,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
@@ -668,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; }
+