0) return $matches[1]; return false; } static function log($item) { if (is_string($item) || is_numeric($item)) {} else $item = print_r($item, true); $fh = fopen(VARPATH . "modules/aws_s3/log/aws_s3-" . date("Y-m-d") . ".log", "a"); fwrite($fh, date("Y-m-d H:i:s") . ": " . $item . "\n"); fclose($fh); } static function upload_item($item) { self::get_s3(); $success_fs = S3::putObjectFile(VARPATH . "albums/" . $item->relative_path(), module::get_var("aws_s3", "bucket_name"), self::get_resource_url("fs/" . $item->relative_path()), ($item->view_1 ? S3::ACL_PUBLIC_READ : S3::ACL_PRIVATE)); $success_th = S3::putObjectFile(VARPATH . "thumbs/" . $item->relative_path(), module::get_var("aws_s3", "bucket_name"), self::get_resource_url("th/" . $item->relative_path()), ($item->view_1 ? S3::ACL_PUBLIC_READ : S3::ACL_PRIVATE)); $success_rs = S3::putObjectFile(VARPATH . "resizes/" . $item->relative_path(), module::get_var("aws_s3", "bucket_name"), self::get_resource_url("rs/" . $item->relative_path()), ($item->view_1 ? S3::ACL_PUBLIC_READ : S3::ACL_PRIVATE)); $success = $success_fs && $success_th && $success_rs; aws_s3::log("item upload success: " . $success); } static function move_item($old_item, $new_item) { self::get_s3(); S3::copyObject(module::get_var("aws_s3", "bucket_name"), self::get_resource_url("fs/" . $old_item->relative_path()), module::get_var("aws_s3", "bucket_name"), self::get_resource_url("fs/" . $new_item->relative_path()), ($new_item->view_1 ? S3::ACL_PUBLIC_READ : S3::ACL_PRIVATE)); S3::deleteObject(module::get_var("aws_s3", "bucket_name"), self::get_resource_url("fs/" . $old_item->relative_path())); S3::copyObject(module::get_var("aws_s3", "bucket_name"), self::get_resource_url("rs/" . $old_item->relative_path()), module::get_var("aws_s3", "bucket_name"), self::get_resource_url("rs/" . $new_item->relative_path()), ($new_item->view_1 ? S3::ACL_PUBLIC_READ : S3::ACL_PRIVATE)); S3::deleteObject(module::get_var("aws_s3", "bucket_name"), self::get_resource_url("rs/" . $old_item->relative_path())); S3::copyObject(module::get_var("aws_s3", "bucket_name"), self::get_resource_url("th/" . $old_item->relative_path()), module::get_var("aws_s3", "bucket_name"), self::get_resource_url("th/" . $new_item->relative_path()), ($new_item->view_1 ? S3::ACL_PUBLIC_READ : S3::ACL_PRIVATE)); S3::deleteObject(module::get_var("aws_s3", "bucket_name"), self::get_resource_url("th/" . $old_item->relative_path())); } static function remove_item($item) { self::get_s3(); $success_fs = S3::deleteObject(module::get_var("aws_s3", "bucket_name"), self::get_resource_url("fs/" . $item->relative_path())); $success_th = S3::deleteObject(module::get_var("aws_s3", "bucket_name"), self::get_resource_url("th/" . $item->relative_path())); $success_rs = S3::deleteObject(module::get_var("aws_s3", "bucket_name"), self::get_resource_url("rs/" . $item->relative_path())); $success = $success_fs && $success_th && $success_rs; aws_s3::log("s3 delete success: " . $success); } static function upload_album_cover($album) { self::get_s3(); if (file_exists(VARPATH . "resizes/" . $album->relative_path() . "/.album.jpg")) $success_rs = S3::putObjectFile(VARPATH . "resizes/" . $album->relative_path() . "/.album.jpg", module::get_var("aws_s3", "bucket_name"), "g3/" . module::get_var("aws_s3", "g3id") . "/rs/" . $album->relative_path() . "/.album.jpg", ($album->view_1 ? S3::ACL_PUBLIC_READ : S3::ACL_PRIVATE)); else $success_rs = true; if (file_exists(VARPATH . "thumbs/" . $album->relative_path() . "/.album.jpg")) $success_th = S3::putObjectFile(VARPATH . "thumbs/" . $album->relative_path() . "/.album.jpg", module::get_var("aws_s3", "bucket_name"), "g3/" . module::get_var("aws_s3", "g3id") . "/th/" . $album->relative_path() . "/.album.jpg", ($album->view_1 ? S3::ACL_PUBLIC_READ : S3::ACL_PRIVATE)); else $success_th = true; $success = $success_rs && $success_th; aws_s3::log("album cover upload success: " . $success); } static function remove_album_cover($album) { self::get_s3(); $success_th = S3::deleteObject(module::get_var("aws_s3", "bucket_name"), "g3/" . module::get_var("aws_s3", "g3id") . "/th/" . $album->relative_path() . "/.album.jpg"); $success_rs = S3::deleteObject(module::get_var("aws_s3", "bucket_name"), "g3/" . module::get_var("aws_s3", "g3id") . "/rs/" . $album->relative_path() . "/.album.jpg"); $success = $success_rs && $success_th; aws_s3::log("album cover removal success: " . $success); } static function getAuthenticatedURL($bucket, $uri) { self::get_s3(); return S3::getAuthenticatedURL($bucket, $uri, 60); } static function validate_number($field) { if (preg_match("/\D/", $field->value)) $field->add_error("not_numeric", 1); } }