From 35c3e12df53fc0584f1b5231ea6e73a177db3573 Mon Sep 17 00:00:00 2001
From: Friendika <info@friendika.com>
Date: Wed, 9 Mar 2011 21:10:16 -0800
Subject: [PATCH] ability to edit image permissions

---
 include/acl_selectors.php         |  2 +-
 mod/photos.php                    | 15 +++++++++++++--
 view/photo_edit.tpl               | 14 +++++++++++++-
 view/theme/duepuntozero/style.css |  5 +++++
 view/theme/loozah/style.css       |  5 +++++
 5 files changed, 37 insertions(+), 4 deletions(-)

diff --git a/include/acl_selectors.php b/include/acl_selectors.php
index 9467531d9f..fa700818ff 100644
--- a/include/acl_selectors.php
+++ b/include/acl_selectors.php
@@ -10,7 +10,7 @@ function group_select($selname,$selclass,$preselected = false,$size = 4) {
 	$o .= "<select name=\"{$selname}[]\" id=\"$selclass\" class=\"$selclass\" multiple=\"multiple\" size=\"$size\" >\r\n";
 
 	$r = q("SELECT * FROM `group` WHERE `deleted` = 0 AND `uid` = %d ORDER BY `name` ASC",
-		$_SESSION['uid']
+		intval(local_user())
 	);
 
 
diff --git a/mod/photos.php b/mod/photos.php
index 7d3e57616a..854c6ee141 100644
--- a/mod/photos.php
+++ b/mod/photos.php
@@ -246,6 +246,11 @@ foreach($_FILES AS $key => $val) {
 		$rawtags     = ((x($_POST,'newtag'))  ? notags(trim($_POST['newtag']))  : '');
 		$item_id     = ((x($_POST,'item_id')) ? intval($_POST['item_id'])       : 0);
 		$albname     = ((x($_POST,'albname')) ? notags(trim($_POST['albname'])) : '');
+		$str_group_allow   = perms2str($_POST['group_allow']);
+		$str_contact_allow = perms2str($_POST['contact_allow']);
+		$str_group_deny    = perms2str($_POST['group_deny']);
+		$str_contact_deny  = perms2str($_POST['contact_deny']);
+
 		$resource_id = $a->argv[2];
 
 		if(! strlen($albname))
@@ -256,10 +261,14 @@ foreach($_FILES AS $key => $val) {
 			dbesc($resource_id),
 			intval($page_owner_uid)
 		);
-		if((count($p)) && (($p[0]['desc'] !== $desc) || ($p[0]['album'] !== $albname))) {
-			$r = q("UPDATE `photo` SET `desc` = '%s', `album` = '%s' WHERE `resource-id` = '%s' AND `uid` = %d",
+		if(count($p)) {
+			$r = q("UPDATE `photo` SET `desc` = '%s', `album` = '%s', `allow_cid` = '%s', `allow_gid` = '%s', `deny_cid` = '%s', `deny_gid` = '%s' WHERE `resource-id` = '%s' AND `uid` = %d",
 				dbesc($desc),
 				dbesc($albname),
+				dbesc($str_contact_allow),
+				dbesc($str_group_allow),
+				dbesc($str_contact_deny),
+				dbesc($str_group_deny),
 				dbesc($resource_id),
 				intval($page_owner_uid)
 			);
@@ -1016,6 +1025,8 @@ function photos_content(&$a) {
 				'$caption' => $ph[0]['desc'],
 				'$tag_label' => t('Add a Tag'),
 				'$tags' => $link_item['tag'],
+				'$permissions' => t('Permissions'),
+				'$aclselect' => populate_acl($ph[0]),
 				'$help_tags' => t('Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping'),
 				'$item_id' => ((count($linked_items)) ? $link_item['id'] : 0),
 				'$submit' => t('Submit'),
diff --git a/view/photo_edit.tpl b/view/photo_edit.tpl
index bf8563b3c2..ceb1ddca3c 100644
--- a/view/photo_edit.tpl
+++ b/view/photo_edit.tpl
@@ -8,7 +8,6 @@
 
 	<div id="photo-edit-albumname-end"></div>
 
-
 	<label id="photo-edit-caption-label" for="photo-edit-caption">$capt_label</label>
 	<input id="photo-edit-caption" type="text" size="84" name="desc" value="$caption" />
 
@@ -16,8 +15,21 @@
 
 	<label id="photo-edit-tags-label" for="photo-edit-newtag" >$tag_label</label>
 	<input name="newtag" id="photo-edit-newtag" size="84" title="$help_tags" type="text" />
+
 	<div id="photo-edit-tags-end"></div>
 
+	<div id="photo-edit-perms" class="photo-edit-perms" >
+		<div id="photo-edit-perms-menu" class="fakelink" onClick="openClose('photo-edit-perms-select');" >$permissions</div>
+		<div id="photo-edit-perms-menu-end"></div>
+
+		<div id="photo-edit-perms-select" style="display: none;" >
+	
+		$aclselect
+
+		</div>
+	</div>
+	<div id="photo-edit-perms-end"></div>
+
 	<input id="photo-edit-submit-button" type="submit" name="submit" value="$submit" />
 	<input id="photo-edit-delete-button" type="submit" name="delete" value="$delete" onclick="return confirmDelete()"; />
 
diff --git a/view/theme/duepuntozero/style.css b/view/theme/duepuntozero/style.css
index f4aa5dac67..d4643b20a6 100644
--- a/view/theme/duepuntozero/style.css
+++ b/view/theme/duepuntozero/style.css
@@ -1826,6 +1826,11 @@ a.mail-list-link {
 	float: left;
 	width: 150px;
 }
+
+#photo-edit-perms-end {
+	margin-bottom: 15px;
+}
+
 #photo-edit-caption, #photo-edit-newtag, #photo-edit-albumname {
 	float: left;
 	margin-bottom: 25px;
diff --git a/view/theme/loozah/style.css b/view/theme/loozah/style.css
index a24f89a83a..ffd352c5aa 100644
--- a/view/theme/loozah/style.css
+++ b/view/theme/loozah/style.css
@@ -1869,6 +1869,11 @@ a.mail-list-link {
 	float: left;
 	width: 150px;
 }
+
+#photo-edit-perms-end {
+	margin-bottom: 15px;
+}
+
 #photo-edit-caption, #photo-edit-newtag, #photo-edit-albumname {
 	float: left;
 	margin-bottom: 25px;