]> git.mxchange.org Git - friendica.git/commitdiff
photo editing
authorMike Macgirvin <mike@macgirvin.com>
Sat, 7 Aug 2010 13:20:27 +0000 (06:20 -0700)
committerMike Macgirvin <mike@macgirvin.com>
Sat, 7 Aug 2010 13:20:27 +0000 (06:20 -0700)
boot.php
include/Photo.php
mod/item.php
mod/photos.php
view/photo_edit.tpl [new file with mode: 0644]
view/photos_upload.tpl
view/style.css

index f1f955637e084e4c409fa98838b743c539a0e525..c1fbf2985f14fe0a7c87bd324baa223502e0ede8 100644 (file)
--- a/boot.php
+++ b/boot.php
@@ -498,3 +498,6 @@ function expand_acl($s) {
 }              
 
 
+function sanitise_acl(&$item) {
+       $item = '<' . intval(notags(trim($item))) . '>';
+}
index b8557e7ec326a6852a7e5953c6735e63a2f9765d..0f5003a6f7839b7f24f8e92a117ac5eab633bed3 100644 (file)
@@ -168,11 +168,12 @@ class Photo {
 
 
 
-       public function store($uid, $cid, $rid, $filename, $album, $scale, $profile = 0) {
+       public function store($uid, $cid, $rid, $filename, $album, $scale, 
+               $profile = 0, $allow_cid = '', $allow_gid = '', $deny_cid = '', $deny_gid = '') {
 
                $r = q("INSERT INTO `photo`
-                       ( `uid`, `contact-id`, `resource-id`, `created`, `edited`, `filename`, `album`, `height`, `width`, `data`, `scale`, `profile` )
-                       VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', %d, %d )",
+                       ( `uid`, `contact-id`, `resource-id`, `created`, `edited`, `filename`, `album`, `height`, `width`, `data`, `scale`, `profile`, `allow_cid`, `allow_gid`, `deny_cid`, `deny_gid` )
+                       VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', %d, %d, '%s', '%s', '%s', '%s' )",
                        intval($uid),
                        intval($cid),
                        dbesc($rid),
@@ -184,7 +185,11 @@ class Photo {
                        intval($this->width),
                        dbesc($this->imageString()),
                        intval($scale),
-                       intval($profile)
+                       intval($profile),
+                       dbesc($allow_cid),
+                       dbesc($allow_gid),
+                       dbesc($deny_cid),
+                       dbesc($deny_gid)
                );
                return $r;
        }
index ca6f703b3f2a76ee500caf3e526d9a491860cfdc..cc743b77fbbe54d33169f61c2e1194b40fd33753 100644 (file)
@@ -1,9 +1,5 @@
 <?php
 
-function sanitise_acl(&$item) {
-       $item = '<' . intval(notags(trim($item))) . '>';
-}
-
 function item_post(&$a) {
 
        if((! local_user()) && (! remote_user()))
index 5598de43413fade0e05ffa3f9d9f905a299a88c4..82f3c13ecc575806269e4e5aeba3fe8eeb6bb672 100644 (file)
@@ -1,6 +1,7 @@
 <?php
 
 require_once('Photo.php');
+require_once('view/acl_selectors.php');
 
 function photos_init(&$a) {
 
@@ -74,6 +75,35 @@ function photos_post(&$a) {
                        $album = datetime_convert('UTC',date_default_timezone_get(),'now', 'Y');
        }
 
+       $str_group_allow = '';
+       $group_allow = $_POST['group_allow'];
+       if(is_array($group_allow)) {
+               array_walk($group_allow,'sanitise_acl');
+               $str_group_allow = implode('',$group_allow);
+       }
+
+       $str_contact_allow = '';
+       $contact_allow = $_POST['contact_allow'];
+       if(is_array($contact_allow)) {
+               array_walk($contact_allow,'sanitise_acl');
+               $str_contact_allow = implode('',$contact_allow);
+       }
+
+       $str_group_deny = '';
+       $group_deny = $_POST['group_deny'];
+       if(is_array($group_deny)) {
+               array_walk($group_deny,'sanitise_acl');
+               $str_group_deny = implode('',$group_deny);
+       }
+
+       $str_contact_deny = '';
+       $contact_deny = $_POST['contact_deny'];
+       if(is_array($contact_deny)) {
+               array_walk($contact_deny,'sanitise_acl');
+               $str_contact_deny = implode('',$contact_deny);
+       }
+
+
        $src      = $_FILES['userfile']['tmp_name'];
        $filename = basename($_FILES['userfile']['name']);
        $filesize = intval($_FILES['userfile']['size']);
@@ -96,7 +126,7 @@ function photos_post(&$a) {
 
        $photo_hash = hash('md5',uniqid(mt_rand(),true));
        
-       $r = $ph->store($_SESSION['uid'], 0, $photo_hash, $filename, $album, 0 );
+       $r = $ph->store($_SESSION['uid'], 0, $photo_hash, $filename, $album, 0 , 0, $str_contact_allow, $str_group_allow, $str_contact_deny, $str_group_deny);
 
        if(! $r) {
                notice( t('Image upload failed.') . EOL );
@@ -105,13 +135,13 @@ function photos_post(&$a) {
 
        if($width > 640 || $height > 640) {
                $ph->scaleImage(640);
-               $ph->store($_SESSION['uid'], 0, $photo_hash, $filename, $album, 1 );
+               $ph->store($_SESSION['uid'], 0, $photo_hash, $filename, $album, 1, 0, $str_contact_allow, $str_group_allow, $str_contact_deny, $str_group_deny);
                $smallest = 1;
        }
 
        if($width > 320 || $height > 320) {
                $ph->scaleImage(320);
-               $ph->store($_SESSION['uid'], 0, $photo_hash, $filename, $album, 2 );
+               $ph->store($_SESSION['uid'], 0, $photo_hash, $filename, $album, 2, 0, $str_contact_allow, $str_group_allow, $str_contact_deny, $str_group_deny);
                $smallest = 2;
        }
        
@@ -292,6 +322,8 @@ function photos_content(&$a) {
                        '$existalbumtext' => t('or existing album name: '),
                        '$filestext' => t('Select files to upload: '),
                        '$albumselect' => $albumselect,
+                       '$permissions' => t('Permissions'),
+                       '$aclselect' => populate_acl(),
                        '$archive' => $a->get_baseurl() . '/jumploader_z.jar',
                        '$nojava' => t('Use the following controls only if the Java uploader (above) fails to launch.'),
                        '$uploadurl' => $a->get_baseurl() . '/photos',
@@ -348,7 +380,7 @@ function photos_content(&$a) {
                require_once('security.php');
                require_once('bbcode.php');
 
-               // fetch item containing image, then comments
+               // fetch image, item containing image, then comments
 
                $ph = q("SELECT * FROM `photo` WHERE `uid` = %d AND `resource-id` = '%s' 
                        $sql_extra ORDER BY `scale` ASC ",
@@ -421,9 +453,8 @@ function photos_content(&$a) {
 
                        );
 
-//                     require_once('view/acl_selectors.php');
 
-                       $o .= '<div id="photo-caption" >' . $ph['desc'] . '</div>';
+                       $o .= '<div id="photo-caption" >' . $ph[0]['desc'] . '</div>';
 
                        if(strlen($i1[0]['tag'])) {
                                // parse tags and add links     
@@ -431,6 +462,13 @@ function photos_content(&$a) {
                                $o .= '<div id="in-this-photo">' . $i1[0]['tag'] . '</div>';
                        }
 
+                       if($cmd == 'edit') {
+                               $edit_tpl = file_get_contents('view/photo_edit.tpl');
+                               $o .= replace_macros($edit_tpl, array(
+                                       '$id' => $ph[0]['id']
+                               ));
+                       }
+
                        // pull out how many people like the photo
 
                        $cmnt_tpl = file_get_contents('view/comment_item.tpl');
diff --git a/view/photo_edit.tpl b/view/photo_edit.tpl
new file mode 100644 (file)
index 0000000..7b57949
--- /dev/null
@@ -0,0 +1,11 @@
+
+<form action="photos" method="post" id="photo_edit_form" >
+
+       <label id="photo-edit-caption-label" for="photo-edit-caption">$capt_label</label>
+       <input type="text size="64" name="desc" value="$caption" />
+
+       <label id="photo-edit-tags-label" for="photo-edit-tags-textarea" >$tag_label</label>
+       <textarea name="tags" id="photo-edit-tags-textarea">$tags</textarea>
+
+       <input type="submit" name="submit" value="$submit" />
+</form>
index 36e1780d584d398edf3e7eaac78e29c328d058e3..a03779775cd6a11b48c139b4d2d0e7dc51961104 100644 (file)
        </div>
        <div id="photos-upload-exist-end"></div>
 
+
+       <div id="photos-upload-perms" class="photos-upload-perms" ><div id="photos-upload-perms-menu" onClick="openClose('photos-upload-permissions-wrapper');" />$permissions</div>
+       <div id="photos-upload-perms-end"></div>
+
+       <div id="photos-upload-permissions-wrapper" style="display: none;" >
+       
+               $aclselect
+
+       </div>
+
        <div id="photos-upload-select-files-text">$filestext</div>
 
        <div id="photos_upload_applet_wrapper">
index 4fa962033797ba0016b234e399da87579379c1c3..4fbe5d20ee2286c1bb778cc921bc8d7d4b81933d 100644 (file)
@@ -1308,4 +1308,21 @@ input#dfrn-url {
 
 #profile-jot-banner-end {
        clear: both;
-}
\ No newline at end of file
+}
+
+#photos-upload-select-files-text {
+       margin-top: 15px;
+       margin-bottom: 15px;
+}
+
+#photos-upload-perms-menu, #photos-upload-perms-menu:visited {
+       color: #8888FF;
+       text-decoration: none;
+       cursor: pointer;
+}
+
+#photos-upload-perms-menu:hover {
+       color: #0000FF;
+       text-decoration: underline;
+       cursor: pointer;
+}