From 92ec25ec441330323e4fcbdfa33ebcf900420097 Mon Sep 17 00:00:00 2001
From: Cash Costello
Date: Sun, 31 Oct 2010 12:47:25 +0000
Subject: integrated Jeff's batch code into trunk
---
actions/ajax_upload_complete.php | 23 ++++++++++
actions/upload.php | 22 +++++++---
languages/en.php | 3 +-
views/default/river/object/image/create.php | 2 +-
.../default/river/object/tidypics_batch/create.php | 51 ++++++++++++++++++++++
views/default/tidypics/forms/ajax_upload.php | 3 +-
views/default/tidypics/forms/settings.php | 6 +--
7 files changed, 97 insertions(+), 13 deletions(-)
create mode 100644 views/default/river/object/tidypics_batch/create.php
diff --git a/actions/ajax_upload_complete.php b/actions/ajax_upload_complete.php
index 0912854a3..b66b563e3 100644
--- a/actions/ajax_upload_complete.php
+++ b/actions/ajax_upload_complete.php
@@ -21,6 +21,29 @@ if ($album->new_album == TP_NEW_ALBUM) {
add_to_river('river/object/album/create', 'create', $album->owner_guid, $album->guid);
}
+$params = array(
+ 'type' => 'object',
+ 'subtype' => 'image',
+ 'metadata_names' => 'batch',
+ 'metadata_values' => get_input('batch'),
+);
+$images = elgg_get_entities_from_metadata($params);
+if ($images) {
+ // Create a new batch object to contain these photos
+ $batch = new ElggObject();
+ $batch->subtype = "tidypics_batch";
+ $batch->access_id = ACCESS_PUBLIC;
+ $batch->container_guid = $album->guid;
+ if ($batch->save()) {
+ foreach ($images as $image) {
+ add_entity_relationship($image->guid, "belongs_to_batch", $batch->getGUID());
+ }
+ if (get_plugin_setting('img_river_view', 'tidypics') == "batch") {
+ add_to_river('river/object/tidypics_batch/create', 'create', $batch->getObjectOwnerGUID(), $batch->getGUID());
+ }
+ }
+}
+
// plugins can register to be told when a Tidypics album has had images added
trigger_elgg_event('upload', 'tp_album', $album);
diff --git a/actions/upload.php b/actions/upload.php
index b3ad9ebc3..f2b626f01 100644
--- a/actions/upload.php
+++ b/actions/upload.php
@@ -120,11 +120,6 @@ foreach($_FILES as $key => $sent_file) {
$file->extractExifData();
$file->saveThumbnails($image_lib);
- //keep one file handy so we can add a notice to the river if single image option selected
- if (!$file_for_river) {
- $file_for_river = $file;
- }
-
array_push($uploaded_images, $file->guid);
// plugins can register to be told when a new image has been uploaded
@@ -171,11 +166,24 @@ if (count($not_uploaded) > 0) {
system_message(elgg_echo('tidypics:upl_success'));
}
+if (count($uploaded_images)) {
+ // Create a new batch object to contain these photos
+ $batch = new ElggObject();
+ $batch->subtype = "tidypics_batch";
+ $batch->access_id = $access_id;
+ $batch->container_guid = $album_guid;
-if (count($uploaded_images) && $img_river_view == "1") {
- add_to_river('river/object/image/create', 'create', $file_for_river->getObjectOwnerGUID(), $file_for_river->getGUID());
+ if ($batch->save()) {
+ foreach ($uploaded_images as $uploaded_guid) {
+ add_entity_relationship($uploaded_guid, "belongs_to_batch", $batch->getGUID());
+ }
+ if ($img_river_view == "batch") {
+ add_to_river('river/object/tidypics_batch/create', 'create', $batch->getObjectOwnerGUID(), $batch->getGUID());
+ }
+ }
}
+
if (count($uploaded_images) > 0) {
$album->prependImageList($uploaded_images);
}
diff --git a/languages/en.php b/languages/en.php
index 26ef79605..2bb18d959 100644
--- a/languages/en.php
+++ b/languages/en.php
@@ -164,7 +164,8 @@ The photo can be viewed here: %s",
//images
'image:river:created' => "%s added the photo %s to album %s",
- 'image:river:item' => "an photo",
+ 'image:river:created:multiple' => "%s added %u photos to album %s",
+ 'image:river:item' => "a photo",
'image:river:annotate' => "a comment on the photo",
'image:river:tagged' => "%s tagged %s in the photo %s",
'image:river:tagged:unknown' => "%s tagged %s in a photo",
diff --git a/views/default/river/object/image/create.php b/views/default/river/object/image/create.php
index 8a0a8deff..9de043e91 100644
--- a/views/default/river/object/image/create.php
+++ b/views/default/river/object/image/create.php
@@ -5,7 +5,7 @@ $image = get_entity($vars['item']->object_guid);
if ($image->title) {
$title = $image->title;
} else {
- $title = "untitled";
+ $title = elgg_echo("untitled");
}
$url = "getURL()}\">{$performed_by->name}";
diff --git a/views/default/river/object/tidypics_batch/create.php b/views/default/river/object/tidypics_batch/create.php
new file mode 100644
index 000000000..e7a4d1409
--- /dev/null
+++ b/views/default/river/object/tidypics_batch/create.php
@@ -0,0 +1,51 @@
+subject_guid);
+$batch = get_entity($vars['item']->object_guid);
+$album = get_entity($batch->container_guid);
+
+if (!$batch || !$album) {
+ return true;
+}
+
+// Get images related to this batch
+$images = elgg_get_entities_from_relationship(array(
+ 'relationship' => 'belongs_to_batch',
+ 'relationship_guid' => $batch->getGUID(),
+ 'inverse_relationship' => true,
+ 'types' => array('object'),
+ 'subtypes' => array('image'),
+ 'offset' => 0,
+ ));
+
+// nothing to show
+if (!$images) {
+ return true;
+}
+
+$user_link = "getURL()}\">{$performed_by->name}";
+$album_link = "" . $album->title . "";
+if (count($images) > 1) {
+ $image_text = elgg_echo("image:river:created:multiple");
+ $string = sprintf($image_text, $user_link, count($images), $album_link);
+} else {
+ $image_text = elgg_echo("image:river:created");
+ $title = $images[0]->title;
+ if (!$title) {
+ $title = elgg_echo("untitled");
+ }
+ $image_link = "getURL() . "\">" . $title . "";
+ $string = sprintf($image_text, $user_link, $image_link, $album_link);
+}
+
+$string .= "";
+
+echo $string;
diff --git a/views/default/tidypics/forms/ajax_upload.php b/views/default/tidypics/forms/ajax_upload.php
index c703d293b..c81c9173d 100644
--- a/views/default/tidypics/forms/ajax_upload.php
+++ b/views/default/tidypics/forms/ajax_upload.php
@@ -112,7 +112,8 @@ $("#uploadify").uploadify({
{
album_guid : 'guid; ?>',
__elgg_token : '',
- __elgg_ts : ''
+ __elgg_ts : '',
+ batch : ''
}
);
},
diff --git a/views/default/tidypics/forms/settings.php b/views/default/tidypics/forms/settings.php
index dc5c02f15..c8a1b4bd9 100644
--- a/views/default/tidypics/forms/settings.php
+++ b/views/default/tidypics/forms/settings.php
@@ -93,7 +93,7 @@ $form_body .= elgg_view('input/pulldown', array(
));
$form_body .= '
Note: If you want to select ImageMagick Command Line, first confirm that it is installed on your server.
';
-if (is_callable('exec') && !in_array('exec',$disablefunc)) {
+if (is_callable('exec') && !in_array('exec', $disablefunc)) {
// Image Magick Path
$im_path = $plugin->im_path;
if(!$im_path) {
@@ -108,14 +108,14 @@ if (is_callable('exec') && !in_array('exec',$disablefunc)) {
$form_body .= '' . elgg_echo('tidypics:settings:heading:river') . '
';
$img_river_view = $plugin->img_river_view;
if (!$img_river_view) {
- $img_river_view = '1';
+ $img_river_view = 'batch';
}
$form_body .= '' . elgg_echo('tidypics:settings:img_river_view');
$form_body .= elgg_view('input/pulldown', array(
'internalname' => 'params[img_river_view]',
'options_values' => array(
'all' => 'all',
- '1' => '1',
+ 'batch' => '1',
'none' => 'none',
),
'value' => $img_river_view
--
cgit v1.2.3