2010-11-28 11:59:40 +00:00
|
|
|
<?php defined("SYSPATH") or die("No direct script access.");
|
2010-11-26 22:44:32 +00:00
|
|
|
|
|
|
|
class aws_s3_event_Core {
|
|
|
|
|
|
|
|
static function admin_menu($menu, $theme) {
|
|
|
|
$menu
|
|
|
|
->get("settings_menu")
|
|
|
|
->append(
|
|
|
|
Menu::factory("link")
|
|
|
|
->id("aws_s3_link")
|
|
|
|
->label(t("Amazon S3"))
|
|
|
|
->url(url::site("admin/aws_s3"))
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
static function item_created($item) {
|
2011-01-20 20:34:46 +00:00
|
|
|
if ($item->id == 1)
|
2010-11-26 22:44:32 +00:00
|
|
|
return true;
|
|
|
|
|
|
|
|
aws_s3::log("Item created - " . $item->id);
|
2011-01-20 20:34:46 +00:00
|
|
|
aws_s3::schedule_item_sync($item);
|
2010-11-26 22:44:32 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
static function item_deleted($item) {
|
2011-01-20 20:34:46 +00:00
|
|
|
if ($item->id == 1)
|
|
|
|
return true;
|
|
|
|
|
2010-11-26 22:44:32 +00:00
|
|
|
aws_s3::log("Item deleted - " . $item->id);
|
|
|
|
aws_s3::remove_item($item);
|
2011-01-20 20:34:46 +00:00
|
|
|
|
|
|
|
ORM::factory("aws_s3_meta", $item->id)->delete();
|
2010-11-26 22:44:32 +00:00
|
|
|
}
|
|
|
|
|
2011-01-20 20:34:46 +00:00
|
|
|
static function item_updated($old_item, $new_item) {
|
|
|
|
if ($new_item->id == 1)
|
|
|
|
return true;
|
|
|
|
|
|
|
|
if ($new_item->has_aws_s3_meta()) {
|
|
|
|
aws_s3::log("Item updated - " . $new_item->id);
|
|
|
|
|
|
|
|
if ($old_item->relative_path() == $new_item->relative_path() && $old_item->s3_item_hash == $new_item->s3_item_hash) {
|
|
|
|
aws_s3::log("nothing changed?!");
|
|
|
|
}
|
|
|
|
else if ($old_item->relative_path() != $new_item->relative_path()) {
|
|
|
|
aws_s3::log("Item moved...");
|
|
|
|
aws_s3::move_item($old_item, $new_item);
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
aws_s3::log("Item hasn't moved. Image updated?");
|
|
|
|
aws_s3::remove_item($old_item);
|
|
|
|
aws_s3::schedule_item_sync($new_item);
|
|
|
|
}
|
|
|
|
}
|
2010-11-26 22:44:32 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
}
|