<!---
A single result, and all its tedium.
--->
<var JJ = caller.JJ>
<var S = caller.S>
<var JX = caller.JX>
<var set = caller.set>
<!--- format data --->
<tag.set_format orb="#JX.parse.orb#"> <var D = return>
<!--- soup up the standard set format with a uidstr and sidstr --->
<var D.uidstr = set.user_id>
<if D.otype NEQ "user"><set orb="user" select="user.id,user.gutitle,user.name" where="user.id = #set.user_id#" maxrows="1"><setcrawl><if trim(set.name) NEQ ""><var D.uname = escapeMarkup(set.name)></if><if trim(set.gutitle) NEQ ""><var D.uidstr = trim(lcase(set.gutitle))></if></setcrawl></set></if>
<var D.sidstr = set.site_id>
<set orb="site" select="site.id,site.gutitle" where="site.id = #set.site_id#" maxrows="1"><setcrawl><if trim(set.gutitle) NEQ ""><var D.sidstr = trim(lcase(set.gutitle))></if></setcrawl></set>
<!--- determine update/delete privs --->
<if (D.otype NEQ "user" AND set.user_id EQ client_id) OR (D.otype EQ "user" AND D.idnum EQ client_id)>
<var _can_update = 1>
<var _can_delete = 1>
<else>
<var _can_update = 0> <set keylev="UPDATE" src="" orb="#D.otype#" select="#D.otype#.id" where="#D.otype#.id = #D.idnum#" maxrows="1"><setcrawl> <var _can_update = 1> </setcrawl></set>
<var _can_delete = 0> <set keylev="DELETE" src="" orb="#D.otype#" select="#D.otype#.id" where="#D.otype#.id = #D.idnum#" maxrows="1"><setcrawl> <var _can_delete = 1> </setcrawl></set>
</if>
<var _gb = "">
<if _can_update EQ 1><var _gb = "gb"></if>
<!--- determine tabs --->
<var _tabs = "">
<if GLOBAL.jOrb.recordcount EQ 1>
<loop list="#GLOBAL.jOrb.tabs#" index="_i">
<if listFindNoCase(_tabs,_i) EQ 0 AND isValidGutitle(_i) EQ 1>
<var _tabs = _tabs & "," & _i>
</if>
</loop>
</if>
<if listFindNoCase(_tabs,"Info") EQ 0>
<var _tabs = _tabs & ",Info">
</if>
<var _tabs = replace(_tabs,",","")>
<!--- package important variables for included tabs/editors --->
<var Env = structNew()>
<var Env.JJ = JJ>
<var Env.style = S>
<var Env.JX = JX>
<var Env.set = set>
<var Env.set_format = D>
<var Env.otype = D.otype>
<var Env.idnum = D.idnum>
<var Env.update = _can_update>
<var Env.delete = _can_delete>
<tag.unit_css>
<style type="text/css">
.unit_left { width:28.5%; }
.nice_image img { max-height:180px; }
.more_links div { padding-bottom:3px; }
</style>
<DIV id="single" style="overflow:auto; overflow-x:hidden; overflow-y:hidden;">
<!--- left col: file, editor buttons, social controls, comments --->
<div style="float:left; width:320px;">
<!--- file --->
<div align="center" style="padding:5px; background:#S.dark_grey#;"><div style="position:relative; width:250px; height:180px; overflow:hidden;">
<div id="#D.otype#-#D.idnum#:file" class="#_gb# nice_image" style="position:relative;">
<var _src = "http://#this_domain#/?&f=#D.otype#-#D.idnum#&f2=site-#site_id#">
<if D.extension EQ "">
<!--- no file - assume image --->
<a href="#_src#" target="_blank"><img src="#_src#&picwidth=250" border="0"></a>
<elseif listFindNoCase("jpg,png,gif",D.extension) GT 0>
<!--- image --->
<a href="#_src#" target="_blank"><img src="#_src#&picwidth=250" border="0"></a>
<else>
<span><b>.#D.extension# file</b></span>
</if>
</div>
</div></div> <div> </div>
<!--- social controls --->
<div>
<if D.otype EQ "user">
Message | Add | Etc.
<else>
Like | Send | Etc.
</if>
</div> <div> </div>
<!--- comments --->
<div>
Comments...
</div> <div> </div>
</div>
<!--- right col: head, tabs --->
<div style="margin-left:348px;">
<!--- HEAD --->
<div style="position:relative; margin-bottom:0.7em;">
<!--- special: sites and routines get "run" buttons --->
<if D.otype EQ "site">
<div style="float:right;">
<var _href = "http://#this_domain#/j:/site-#D.idstr#?&function=run">
<a href="#_href#" target="_blank">Visit This Site</a>
<a href="#_href#" target="_blank"><img src="http://#this_domain#/file:/image-ext" border="0"></a>
</div>
<elseif D.otype EQ "routine">
<div style="float:right;">
<var _href = "http://#this_domain#/j:/routine-#D.idstr#?&function=run">
<a href="#_href#" target="_blank">Test This Routine</a>
<a href="#_href#" target="_blank"><img src="http://#this_domain#/file:/image-ext" border="0"></a>
</div>
</if>
<h2 style="font-size:1em; margin-bottom:3px;">#D.title#</h2>
<if D.otype NEQ "user">
<div><small>
<b>#D.otype#</b> by <a title="/user-#D.uidstr#" href="http://#this_domain#/j:/user-#D.uidstr#">#D.uname#</a>
<set j="@#D.user_id#" select="count(iqtpi.id) AS idcount" maxrows="1">
<setcrawl>
(<a title="@#D.uidstr#" href="http://#this_domain#/j:@#D.uidstr#" style="color:#S.grey#;">#set.idcount# Entr<if set.idcount NEQ 1>ies<else>y</if></a>)
</setcrawl>
</set>
| #timeAgo(set.so_dateinserted)#
</small></div>
</if>
</div>
<div> </div>
<!--- tabs --->
<div>
<div style="font-size:1.24em;"><tag.smaller_tabs tabs="#_tabs#" color="#S.light_blue#" bgcolor="#S.black#" clean="1"></div>
<loop list="#_tabs#" index="i">
<tag.smaller_tab tab="#i#">
<if return EQ 1>
<div id="tab-#trim(lcase(i))#" style="padding:7px;">
<routine where="routine.gutitle = 'jj_tab_#i#' AND routine.user_id = 7"
Env="#Env#">
</div>
<break>
</if>
</loop>
</div>
</div>
</DIV>