%%folder-view-anonymous-html%%
2003-01-08 12:14

%%preprocess%%
if ($object->id=="") header("HTTP/1.0 404 Not Found");

// folder only-- force http for anonymous
if ($session->request->connection!="http" && ( $sitemember->role=="anonymous" && $session->request->method!="login" && $session->request->method!="createmember" && $session->request->method!="logout")) {
	 $newlocation= "http://$site->name$session->refreshURL";
	 berror("Anonymous connects via HTTP. Trying to redirect to $newlocation.",1);
	 header("Location: $newlocation");
	 exit;
	 }
 
// format the folder for display
$this->beryliumToHtml();
$this->getRuntimeVars();

// convert generic flavor to objtype:
if ($this->flavor=="Generic") $this->flavor= "Folder";

// headline fix if only title, and vice-versa
if ($this->title=="" && $this->headline=="") $this->title= "Untitled ($this->name)";
elseif ($this->title=="") $this->title= $this->headline;
elseif ($this->headline=="") $this->headline= $this->title;


// FOLDER SORT ORDER
	$userank="obj.rank DESC,";
	if ($this->rank<500) $folderrank= $this->bulbrank;
	else $folderrank= 500;
	berror("Showing folders >= $folderrank only.",1);
	if ($this->p_sortorder=="alpha") {
		// alphabetical
		$this->folderOrderBy= "AND obj.rank>='$folderrank' AND obj.name!='$this->name' AND obj.folderid='$this->id' ORDER BY $userank obj.title ASC";
		$this->documentOrderBy= "ORDER BY obj.title ASC";
		$this->imageOrderBy= "AND obj.rank>='500' ORDER BY obj.title ASC";
		}
	elseif ($this->p_sortorder=="chrono") {
		// chrono
		$this->folderOrderBy= "AND obj.rank>='$folderrank' AND obj.name!='$this->name'  AND obj.folderid='$this->id' ORDER BY $userank obj.created ASC";
		$this->documentOrderBy= "ORDER BY $userank obj.created ASC LIMIT 16";
		$this->imageOrderBy= "AND obj.rank>='500' ORDER BY $userank obj.created ASC LIMIT 15";
		}
	else {
		// reverse chrono
		$this->folderOrderBy= "AND obj.rank>='$folderrank' AND obj.name!='$this->name' AND obj.folderid='$this->id' ORDER BY $userank obj.created DESC";
		$this->documentOrderBy= "ORDER BY $userank obj.created DESC LIMIT 16";
		$this->imageOrderBy= "AND obj.rank>='500' ORDER BY $userank obj.created DESC LIMIT 15";
		}


// SITE ICON
	// show folder icon, site icon, or berylium icon if none of the above
	if ($site->imageid!="0") $this->topIconTag= $site->iconTag;
	elseif ($this->imageid!="0") $this->topIconTag= $this->iconTag;
	else {
		$this->topIconTag= "<img src='/bicons/blogo-label-48x48.png' border=0 alt='berylium' title='A berylium site. See http://berylium.org for info.'>";
		}


// OBJECT ACCESS for editors and admins
	if ($sitemember->role=="editor" || $sitemember->role=="admin" ) {
		// contexts are for admins only:
		if ($sitemember->role=="admin") {
			$adminAccess= " | <a href='$folder->baseUrl/context-.html?method=view'>contexts</a> | <a href='$site->baseUrl/site-$site->name.html?method=edit'>edit site</a>";
			}
		$this->objectAccess= "
			<tr>
				<td colspan='2' class='info'>
					<!-- object access controls -->
					<a href='$folder->baseUrl/folder-.html?method=listall'>folders</a> |
					<a href='$folder->baseUrl/document-.html?method=listall'>documents</a> |
					<a href='$folder->baseUrl/image-.html?method=listall'>images</a> |
					<a href='$site->baseUrl/sitemember-.html?method=listall'>members</a>
					$adminAccess
				</td>
			</tr>";
		}

// SESSION CONTROLS (cancel, debug, standardContext, showDeleted)
// cancel button
	if ($session->request->method!="view" && $session->request->method!="listall") {
		$this->cancelTag= "<a href='$object->baseUrl'><img src='/bicons/cancel.gif' border=0 alt='' title='cancel' align=middle></a>&nbsp;<a href='$object->baseUrl'>cancel</a>";
		}
	elseif ($object->objtype!="folder" || $session->request->method=="listall") {
		$this->cancelTag= "<a href='$this->baseUrl'><img src='/bicons/folder-open.gif' border=0 alt='' title='parent folder' align=middle></a>&nbsp;<a href='$this->baseUrl'>$this->title</a>";
		}
	elseif ($containers[1]->baseUrl!="") {
		$this->cancelTag= "<a href='".$containers[1]->baseUrl."'><img src='/bicons/folder-open.gif' border=0 alt='' title='parent folder' align=middle></a>&nbsp;<a href='".$containers[1]->baseUrl."'>".$containers[1]->title."</a>";
		}
	else {
		$this->cancelTag= "<a href='http://$site->name/'><img src='/bicons/folder-open.gif' border=0 alt='' title='parent site' align=middle></a>&nbsp;<a href='http://$site->name/'>$site->name</a>";
		}
// debug switch
	if ($session->p_debug) {
		$this->debugTag= "<a href='$session->refreshURL&debug=off'>no debug</a> |";
		}
	elseif ($sitemember->role=="admin") {
		$this->debugTag= "<a href='$session->refreshURL&debug=1'>debug</a> |";
		}
// standardContext switch
	if ($session->p_standardContext) {
		$this->contextTag= "<a href='$session->refreshURL&standardContext=0'>site look</a> |";
		}
	elseif ($sitemember->role=="writer" || $sitemember->role=="editor" || $sitemember->role=="admin") {
		$this->contextTag= "<a href='$session->refreshURL&standardContext=1'>berylium look</a> |";
		}
// showDeleted switch
	if ($session->p_showDeleted) {
		$this->showDelTag= "<a href='$session->refreshURL&showDeleted=0'>hide deleted</a> |";
		}
	elseif ($sitemember->role=="editor" || $sitemember->role=="admin") {
		$this->showDelTag= "<a href='$session->refreshURL&showDeleted=1'>show deleted</a> |";
		}


// USER CONTROLS  (role select, preferences, etc)
// role selector
	$rrole= "r$sitemember->role";
	$this->{$rrole}= "selected";
	switch ($sitemember->truerole) {
		case "admin":
			$roleoptions= "<option value='admin' $this->radmin>admin</option>
			<option value='editor' $this->reditor>editor</option>
			<option value='writer' $this->rwriter>writer</option>
			<option value='member' $this->rmember>member</option>
			<option value='anonymous' $this->ranonymous>anonymous</option>";
			break;

		case "editor":
			$roleoptions= "<option value='editor' $this->reditor>editor</option>
			<option value='writer' $this->rwriter>writer</option>
			<option value='member' $this->rmember>member</option>
			<option value='anonymous' $this->ranonymous>anonymous</option>";
			break;

		case "writer":
			$roleoptions= "<option value='writer' $this->rwriter>writer</option>
			<option value='member' $this->rmember>member</option>
			<option value='anonymous' $this->ranonymous>anonymous</option>";
			break;

		case "member":
			$this->loginheader= "Prepared for $sitemember->truerole <a href='$sitemember->idUrl'>$sitemember->name</a>.<br>
			<a href='$sitemember->idUrl?method=edit'>preferences</a> | <a href='$refreshURL?method=logout'>logout</a>";
			$this->loginfooter= "Prepared for $sitemember->truerole <a href='$sitemember->idUrl'>$sitemember->name</a>.<br>
			<a href='$sitemember->idUrl?method=edit'>preferences</a> | <a href='$refreshURL?method=logout'>logout</a>&nbsp;";
			break;

		default:
			$this->loginheader= "<form action='$object->baseSSLUrl?method=login' name='userLogin' method='POST'>
				You are being anonymous.&nbsp;&nbsp;&nbsp;<br>
				<input type='text' name='email' value='email' onFocus=\"document.userLogin.email.value=''\" size='10' class='permaform'>
				<input type='password' name='password' value='***' onFocus=\"document.userLogin.password.value=''\" size='6' class='permaform'>
				<input type='submit' name='login' value='login' class='permaformbutton'><br><br>
				<a href='$object->baseUrl?method=login'>Login</a> above or
				<a href='$object->baseURL?method=createmember'>register here</a>.
			</form>";
			$this->loginfooter= "You are being anonymous. Please <a href='$object->baseUrl?method=login'>login or register here</a>.";
			break;
		}
// login header / footer
	if ($sitemember->truerole!="anonymous" && $sitemember->truerole!="member") {
		$this->loginheader= "
			<form action='$session->refreshUrl' name='userControl' method='GET'>
			Prepared for $sitemember->truerole <a href='$sitemember->idUrl'>$sitemember->name</a>.<br>
			<a href='$sitemember->idUrl?method=edit'>preferences</a> | <a href='$refreshURL?method=logout'>logout</a>
			<br>
			<img src='/bicons/spacer.gif' width='1' height='24'>
			View as
			<select name='role' onChange='document.userControl.submit()' align='absmiddle'>
			$roleoptions
			</select>
			<input type='submit' name='go' value='&raquo;' class='buttonstyle'>
			</form>";
		$this->loginfooter= "Prepared for $sitemember->truerole <a href='$sitemember->idUrl'>$sitemember->name</a>.<br>
			<a href='$sitemember->idUrl?method=edit'>preferences</a> | <a href='$refreshURL?method=logout'>logout</a>&nbsp;";
		}
// truerole indicator
	if ($sitemember->truerole!=$sitemember->role) {
		$this->loginfooter= "Rendered as if you were an $sitemember->role. (<a href='$session->refreshUrl?role=0'>off</a>)<br>".$this->loginfooter;
		}


// INVENTORY CONTROL
	// create inventory list from session->p_inventory
	if (trim($session->p_inventory)) {
		$inventoryList= "
				<hr>
				<table class='inventoryTable'>
					<tr>
						<td><img src='/bicons/pickup.gif' border=0 alt='' title='your inventory' align=middle> You are holding:</td>
					</tr>";
		$inventoryArray= explode(" ", trim($session->p_inventory));
		foreach ( $inventoryArray AS $key=>$value ) {
			$valuearray= explode(":", $value);
			$classname= $valuearray[0];
			$inventoryList= $inventoryList."
					<tr>
						<td align='center'>
							<img src='/bicons/$classname.gif' border=0 alt='' title='$value' align=right vspace=5>
							[$value]<br><a href='$this->baseUrl?method=drop&key=$key'>drop</a> | <a href='$this->baseUrl?method=discard&key=$key'>discard</a>
						</td>
					</tr>";
			}
		$inventoryList= $inventoryList."
					<tr>
						<td>Location is $this->title.<br>
							<img src='/bicons/spacer.gif' border=0 alt='' title='' width=1 height=20>
							<a href='$this->baseUrl?method=dropall'><img src='/bicons/drop.gif' border=0 alt='' title='move all items into the current folder' align=middle></a> <a href='$this->baseUrl?method=dropall'>drop all items</a></td>
					</tr>
				</table>";
		$this->inventoryList= bparsebml($inventoryList);
		}


// CONTENT CONTROL
	if (trim($this->body)!="") {
		if ($sitemember->role!="editor" && $sitemember->role!="admin") $extrabr= "<br />&nbsp;";
		$this->bodyTag= "<span class='objBody'><br /><br />$this->body$extrabr</span>";
		}
		

// OBJECT ADD  (add new objects to this folder)
	if ($session->canSave[all] || $session->canSave[folder]) {
		$objectAddRow.= "<tr><td><a href='$this->baseUrl/folder-.html?method=create'><img src='/bicons/folder.gif' border=0 alt='new folder' title='new folder' align=middle>&nbsp;add folder</a><br></td></tr>\n";
		}
	if ($session->canSave[all] || $session->canSave[document]) {
		$objectAddRow.= "<tr><td><a href='$this->baseUrl/document-.html?method=create'><img src='/bicons/document.gif' border=0 alt='new document' title='new document' align=middle>&nbsp;add document</a><br></td></tr>\n";
		}
	if ($session->canSave[all] || $session->canSave[image]) {
		$objectAddRow.= "<tr><td><a href='$this->baseUrl/image-.html?method=create'><img src='/bicons/image.gif' border=0 alt='new image' title='new image' align=middle>&nbsp;add image</a><br></td></tr>\n";
		}
	if ($session->canSave[all] || $session->canSave[folder]) {
		$objectAddRow.= "<tr><td><a href='$this->baseUrl/folder-.html?method=createLink'><img src='/bicons/link.gif' border=0 alt='new link' title='new link' align=middle>&nbsp;add link</a><br></td></tr>\n";
		}
	if ($session->canSave[all]) {
		$objectAddRow.= "<tr><td><a href='$site->baseUrl/sitemember-.html?method=create'><img src='/bicons/sitemember.gif' border=0 alt='new sitemember' title='new sitemember' align=middle>&nbsp;add sitemember</a><br></td></tr>\n";
		}
	if ($objectAddRow!="") {
		$this->objectAdd= "
				<hr>
				<table>
					$objectAddRow
				</table>";
		}


// EDITOR CONTROLS
	if ($sitemember->role=="editor" || $sitemember->role=="admin") {
		$this->editorControls= "
			<p align='right' class='info'>
				<a href='$this->baseUrl?method=toggleRank'><img src='/bicons/bulbsgif/$this->glow.gif' alt='$this->publishStatus' title='folder:$this->id is $this->publishStatus' align=absmiddle border=0></a> |
				<img src='/bicons/event.gif' alt='updated $this->updated' title='created $this->created - updated $this->updated' align=absmiddle border=0> |
				<a href='$this->baseUrl?method=edit'><img src='/bicons/edit.gif' alt='edit' title='edit this object' align=absmiddle border=0></a>
				<a href='$this->baseUrl?method=edit'>edit</a> |
				<a href='$this->baseUrl?method=pickup'><img src='/bicons/pickup.gif' alt='pick up' title='pick up this object' align=absmiddle border=0></a>
				<a href='$this->baseUrl?method=pickup'>pick up</a>&nbsp;
			</p>";
		}


// BYLINE TAG ( for editors and writers )
	if ($sitemember->role=="writer" || $sitemember->role=="editor" || $sitemember->role=="admin") {
		$this->bylineTag= "
			<span class='objByline'><br />
				&nbsp;".ucfirst($this->flavor)." by $this->authorTag on $this->created.
			</span>";
		}


%%header%%
<table class='siteHeader'>
    <tr>
	<td width="5%" align=center valign=middle>
	    <a href="/berylium">$this->topIconTag</a>
	</td>
	<td width="60%" valign='middle'>
	    <span class='objTitle'><a href='$folder->baseUrl'>$folder->title</a> @ <a href='$site->baseUrl'>$site->title</a></span>
	    <span class='objDescription'><br>$folder->description</span>
	</td>
	<td width="35%" class="info" align='right' rowspan="2">
            $this->loginheader
        </td>
    </tr>
    $this->objectAccess
    <tr>
	<td colspan="3" class="info">
			<form name='search' action='$site->baseUrl/document-.html?method=listall' method='post'>
			<input type='hidden' name='listrank' value='50'>
			<img src="/bicons/spacer.gif" width=5 height=18>
			<!-- session controls
			<img src="/bicons/spacer.gif" width=1 height=20>
			<a href='$session->refreshURL'><img src='/bicons/refresh.gif' border=0 alt='' title='refresh page' align=middle></a>&nbsp;<a href='$session->refreshURL'>refresh</a> | -->
			<!-- $this->cancelTag | -->
			<!-- $this->debugTag
			$this->contextTag -->
			$this->showDelTag
			<a href='#bottom'>bottom of page</a> | keyword:
			<input type='text' name='keyword' value='$session->keyword' size=12 class='permaform'>
			<input type='submit' name='submit' value='search' class='permaformbutton'>
			</form>
	</td>
    </tr>
</table>
</td>
</tr>
</table>
<br>
<table class='bodytable'>
<tr>
<td align='center' valign='top'>
<table>
	<tr>
		<td valign='top' width='22%' class='navigationcell'>
			{list:SELECT obj.* FROM folder AS obj, folder WHERE obj.rank>=100 AND obj.siteid='$site->id' AND obj.status='posted' AND folder.id=obj.folderid AND obj.name!='/'  AND obj.folderid='$site->folderid' $session->publicwhere ORDER BY obj.rank DESC, obj.title ASC;navbar}
			$this->objectAdd
			$this->inventoryList
		</td>
		<td valign='top' width='78%' class='contentcell'>
<!-- begin object content -->


%%css%%


%%template%%
<span class='objHeadline'><img src='/bicons/spacer.gif' width='1' height='24' border=0>$this->headline</span>
$this->bylineTag
$this->bodyTag
$this->editorControls
{index:folder;index;$this->folderOrderBy}
{index:document;index;$this->documentOrderBy}
{index:image;index;$this->imageOrderBy}
<p align="right">
    <a href='$folder->baseUrl/index.rdf'>$this->title newsfeed <img src='/bicons/rss10.gif' border=0 alt='XML logo' title='View this folder as an RSS newsfeed.' align=middle></a>&nbsp;
</p>

%%listrow%%


%%nullobject%%
 <p><img src='/bicons/warning.png' alt='Warning' align=left><br>
	<b>The folder you requested was not found.</b></p>
<p>Please see the <a href='$site->baseUrl'>site homepage</a> or choose one of the folders at left. Thanks!</p>


%%footer%%
<!-- end object content -->
		</td>
	</tr>
</table>
<a name='bottom'></a>
</td>
</tr>
</table>
<br>
<table class='bodytable'>
<tr>
<td align='center' valign='top'>
<table class='siteHeader'>
	<tr>
		<td width='20%'><img src='/bicons/spacer.gif' border=0 alt='controls:' title=''></td>
		<td width='80%' class='info' align='right'>
			<form name='search' action='$site->baseUrl/document-.html?method=listall' method='post'>
			<input type='hidden' name='listrank' value='50'>
			<!-- <img src="/bicons/spacer.gif" width=1 height=20> -->
			<!-- session controls
			<img src="/bicons/spacer.gif" width=1 height=20>
			<a href='$session->refreshURL'><img src='/bicons/refresh.gif' border=0 alt='' title='refresh page' align=middle></a>&nbsp;<a href='$session->refreshURL'>refresh</a> |
			$this->cancelTag | -->
			$this->debugTag
			$this->contextTag
			$this->showDelTag
			<a href='#top'>top of page</a> | keyword:
			<input type='text' name='keyword' value='$session->keyword' size=12 class='permaform'>
			<input type='submit' name='submit' value='search' class='permaformbutton'><br><br>
			$this->loginfooter
			</form>
		</td>
	</tr>
</table>


%%postprocess%%


%%end of context%%
