From baad288430baed9d7967043554cb07fdde322552 Mon Sep 17 00:00:00 2001
From: Mike Macgirvin <mike@macgirvin.com>
Date: Mon, 12 Jul 2010 18:00:58 -0700
Subject: [PATCH] acl stuff

---
 mod/profile.php        |  4 +++
 view/acl_selectors.php | 70 ++++++++++++++++++++++++++++++++++++++++++
 view/jot.tpl           |  3 +-
 view/style.css         | 15 ++++++++-
 wip/todo               |  4 ---
 5 files changed, 90 insertions(+), 6 deletions(-)
 create mode 100644 view/acl_selectors.php

diff --git a/mod/profile.php b/mod/profile.php
index 39d1b7c6a5..5d1b04b33d 100644
--- a/mod/profile.php
+++ b/mod/profile.php
@@ -135,10 +135,14 @@ function profile_content(&$a) {
 		$tpl = file_get_contents('view/jot-header.tpl');
 	
 		$a->page['htmlhead'] .= replace_macros($tpl, array('$baseurl' => $a->get_baseurl()));
+		require_once('view/acl_selectors.php');
 
 		$tpl = file_get_contents("view/jot.tpl");
+
 		$o .= replace_macros($tpl,array(
 			'$baseurl' => $a->get_baseurl(),
+			'$lockstate' => 'unlock',
+			'$acl' => populate_acl(),
 			'$profile_uid' => $a->profile['profile_uid']
 		));
 	}
diff --git a/view/acl_selectors.php b/view/acl_selectors.php
new file mode 100644
index 0000000000..7a69fdd5ad
--- /dev/null
+++ b/view/acl_selectors.php
@@ -0,0 +1,70 @@
+<?php
+
+
+function group_select($selname,$selclass,$preselected = false) {
+
+	$o = '';
+
+	$o .= "<select name=\"{$selname}[]\" class=\"$selclass\" multiple=\"multiple\" size=\"4\" />\r\n";
+
+	$r = q("SELECT * FROM `group` WHERE `uid` = %d",
+		$_SESSION['uid']
+	);
+
+	if(count($r)) {
+		foreach($r as $rr) {
+			if((is_array($preselected)) && $in_array($rr['name'], $preselected))
+				$selected = " selected=\"selected\" ";
+			else
+				$selected = '';
+			$o .= "<option value=\"{$rr['name']}\" $selected >{$rr['name']}</option>\r\n";
+		}
+	
+	}
+	$o .= "</select>\r\n";
+
+
+	return $o;
+}
+
+
+
+function contact_select($selname,$selclass,$preselected = false) {
+
+	$o = '';
+
+	$o .= "<select name=\"{$selname}[]\" class=\"$selclass\" multiple=\"multiple\" size=\"4\" />\r\n";
+
+	$r = q("SELECT `name` FROM `contact` WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 ",
+		$_SESSION['uid']
+	);
+
+	if(count($r)) {
+		foreach($r as $rr) {
+			if((is_array($preselected)) && $in_array($rr['name'], $preselected))
+				$selected = " selected=\"selected\" ";
+			else
+				$selected = '';
+			$o .= "<option value=\"{$rr['name']}\" $selected >{$rr['name']}</option>\r\n";
+		}
+	
+	}
+	$o .= "</select>\r\n";
+
+
+	return $o;
+}
+
+
+function populate_acl() {
+
+	$o = '';
+
+	$o .= "Allow Groups: " . group_select('group_allow','group_allow');
+	$o .= "Allow Contacts: " . contact_select('contact_allow','contact_allow');
+	$o .= "<br />\r\n";
+	$o .= "Except Groups: " . group_select('group_deny','group_deny');
+	$o .= "Except Contacts: " . contact_select('contact_deny','contact_deny');
+	return $o;
+
+}
\ No newline at end of file
diff --git a/view/jot.tpl b/view/jot.tpl
index b6599feec9..55ee5388c1 100644
--- a/view/jot.tpl
+++ b/view/jot.tpl
@@ -12,7 +12,8 @@ What's on your mind?
 </div>
 <div id="profile-jot-submit-wrapper" >
 <input type="submit" id="profile-jot-submit" name="submit" value="Submit" />
-
+	<div id="profile-jot-perms" class="profile-jot-perms" ><img src="images/$lockstate_icon.gif" alt="Permission Settings" title="Permission Settings" onClick="openClose('profile-jot-acl-wrapper');" /><div id="profile-jot-acl-wrapper" style="display: none;" >$acl</div>
+	</div>
 </div>
 <div id="profile-jot-end"></div>
 </form>
diff --git a/view/style.css b/view/style.css
index f548107400..2619651291 100644
--- a/view/style.css
+++ b/view/style.css
@@ -451,7 +451,18 @@ input#dfrn-url {
 #profile-jot-submit-wrapper {
 	margin-top: 15px;
 }
+
+#profile-jot-submit {
+	float: left;
+}
+
+#profile-jot-perms {
+	float: left;
+	margin-left: 350px;
+}
+
 #profile-jot-end {
+	clear: both;
 	margin-bottom: 30px;
 }
 #about-jot-submit-wrapper {
@@ -766,4 +777,6 @@ input#dfrn-url {
 	color: black;
 	height: 150px;
 	width: 350px;
-}
\ No newline at end of file
+}
+
+
diff --git a/wip/todo b/wip/todo
index 1f7e550442..2ac1e911b2 100644
--- a/wip/todo
+++ b/wip/todo
@@ -12,8 +12,6 @@ contact editor
 
 profile "you name it" field
 
-profile display restrict/check access
-
 
 groups
 
@@ -21,8 +19,6 @@ permissions
 
 pager - items and photos
 
-comment fetch
-
 photos/albums/ java uploader
 
 item delete
-- 
2.39.5