Revert "[upload] add rating fields to upload form"
This reverts commit 32d5274880
.
This commit is contained in:
parent
ffb0d405b4
commit
c0bc11ee0c
5 changed files with 7 additions and 69 deletions
|
@ -165,11 +165,6 @@ class Ratings extends Extension
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function onUploadRatingBuilding(UploadRatingBuildingEvent $event): void
|
|
||||||
{
|
|
||||||
$event->part = (string)$this->theme->get_upload_rater_html($event->suffix);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function onDisplayingImage(DisplayingImageEvent $event): void
|
public function onDisplayingImage(DisplayingImageEvent $event): void
|
||||||
{
|
{
|
||||||
global $page;
|
global $page;
|
||||||
|
@ -209,7 +204,7 @@ class Ratings extends Extension
|
||||||
{
|
{
|
||||||
global $user;
|
global $user;
|
||||||
$event->add_part(
|
$event->add_part(
|
||||||
$this->theme->get_image_rater_html(
|
$this->theme->get_rater_html(
|
||||||
$event->image->id,
|
$event->image->id,
|
||||||
$event->image['rating'],
|
$event->image['rating'],
|
||||||
$user->can(Permissions::EDIT_IMAGE_RATING)
|
$user->can(Permissions::EDIT_IMAGE_RATING)
|
||||||
|
|
|
@ -7,7 +7,6 @@ namespace Shimmie2;
|
||||||
use MicroHTML\HTMLElement;
|
use MicroHTML\HTMLElement;
|
||||||
|
|
||||||
use function MicroHTML\emptyHTML;
|
use function MicroHTML\emptyHTML;
|
||||||
use function MicroHTML\rawHTML;
|
|
||||||
use function MicroHTML\{A,P,TABLE,TD,TH,TR};
|
use function MicroHTML\{A,P,TABLE,TD,TH,TR};
|
||||||
|
|
||||||
class RatingsTheme extends Themelet
|
class RatingsTheme extends Themelet
|
||||||
|
@ -21,7 +20,7 @@ class RatingsTheme extends Themelet
|
||||||
return SHM_SELECT($name, !empty($ratings) ? $ratings : Ratings::get_ratings_dict(), required: true, selected_options: $selected_options);
|
return SHM_SELECT($name, !empty($ratings) ? $ratings : Ratings::get_ratings_dict(), required: true, selected_options: $selected_options);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function get_image_rater_html(int $image_id, string $rating, bool $can_rate): HTMLElement
|
public function get_rater_html(int $image_id, string $rating, bool $can_rate): HTMLElement
|
||||||
{
|
{
|
||||||
return SHM_POST_INFO(
|
return SHM_POST_INFO(
|
||||||
"Rating",
|
"Rating",
|
||||||
|
@ -30,11 +29,6 @@ class RatingsTheme extends Themelet
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function get_upload_rater_html(string $suffix): HTMLElement
|
|
||||||
{
|
|
||||||
return $this->get_selection_rater_html(name:"rating${suffix}", selected_options: ["?"]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param array<string,string> $current_ratings
|
* @param array<string,string> $current_ratings
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1,18 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
namespace Shimmie2;
|
|
||||||
|
|
||||||
class UploadRatingBuildingEvent extends Event
|
|
||||||
{
|
|
||||||
public string $part;
|
|
||||||
public string $suffix;
|
|
||||||
|
|
||||||
public function __construct(string $suffix)
|
|
||||||
{
|
|
||||||
parent::__construct();
|
|
||||||
|
|
||||||
$this->suffix = $suffix;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -5,7 +5,6 @@ declare(strict_types=1);
|
||||||
namespace Shimmie2;
|
namespace Shimmie2;
|
||||||
|
|
||||||
require_once "config.php";
|
require_once "config.php";
|
||||||
require_once "events/upload_rating_building_event.php";
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Occurs when some data is being uploaded.
|
* Occurs when some data is being uploaded.
|
||||||
|
@ -37,9 +36,6 @@ class DataUploadEvent extends Event
|
||||||
assert(is_string($metadata["filename"]));
|
assert(is_string($metadata["filename"]));
|
||||||
assert(is_array($metadata["tags"]));
|
assert(is_array($metadata["tags"]));
|
||||||
assert(is_string($metadata["source"]) || is_null($metadata["source"]));
|
assert(is_string($metadata["source"]) || is_null($metadata["source"]));
|
||||||
if (Extension::is_enabled(RatingsInfo::KEY)) {
|
|
||||||
assert(is_string($metadata['rating']));
|
|
||||||
}
|
|
||||||
|
|
||||||
// DB limits to 255 char filenames
|
// DB limits to 255 char filenames
|
||||||
$metadata['filename'] = substr($metadata['filename'], 0, 255);
|
$metadata['filename'] = substr($metadata['filename'], 0, 255);
|
||||||
|
@ -241,8 +237,7 @@ class Upload extends Extension
|
||||||
$slot = int_escape(substr($name, 4));
|
$slot = int_escape(substr($name, 4));
|
||||||
$tags = $this->tags_for_upload_slot($event->POST, $slot);
|
$tags = $this->tags_for_upload_slot($event->POST, $slot);
|
||||||
$source = $this->source_for_upload_slot($event->POST, $slot);
|
$source = $this->source_for_upload_slot($event->POST, $slot);
|
||||||
$rating = $this->rating_for_upload_slot($event->POST, $slot);
|
$results = array_merge($results, $this->try_upload($file, $tags, $source));
|
||||||
$results = array_merge($results, $this->try_upload($file, $tags, $source, $rating));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$urls = array_filter($event->POST, function ($value, $key) {
|
$urls = array_filter($event->POST, function ($value, $key) {
|
||||||
|
@ -252,8 +247,7 @@ class Upload extends Extension
|
||||||
$slot = int_escape(substr($name, 3));
|
$slot = int_escape(substr($name, 3));
|
||||||
$tags = $this->tags_for_upload_slot($event->POST, $slot);
|
$tags = $this->tags_for_upload_slot($event->POST, $slot);
|
||||||
$source = $this->source_for_upload_slot($event->POST, $slot);
|
$source = $this->source_for_upload_slot($event->POST, $slot);
|
||||||
$rating = $this->rating_for_upload_slot($event->POST, $slot);
|
$results = array_merge($results, $this->try_transload($value, $tags, $source));
|
||||||
$results = array_merge($results, $this->try_transload($value, $tags, $source, $rating));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->theme->display_upload_status($page, $results);
|
$this->theme->display_upload_status($page, $results);
|
||||||
|
@ -293,22 +287,6 @@ class Upload extends Extension
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @param array<string, mixed> $params
|
|
||||||
*/
|
|
||||||
private function rating_for_upload_slot(array $params, int $id): ?string
|
|
||||||
{
|
|
||||||
if (Extension::is_enabled(RatingsInfo::KEY) && (!empty($params["rating"]) || !empty($params["rating$id"]))) {
|
|
||||||
if($params["rating$id"] != "?") {
|
|
||||||
return $params["rating$id"];
|
|
||||||
}
|
|
||||||
if($params["rating"] != "?") {
|
|
||||||
return $params["rating"];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a descriptive error message for the specified PHP error code.
|
* Returns a descriptive error message for the specified PHP error code.
|
||||||
*
|
*
|
||||||
|
@ -345,7 +323,7 @@ class Upload extends Extension
|
||||||
* @param string[] $tags
|
* @param string[] $tags
|
||||||
* @return UploadResult[]
|
* @return UploadResult[]
|
||||||
*/
|
*/
|
||||||
private function try_upload(array $file, array $tags, ?string $source = null, ?string $rating = null): array
|
private function try_upload(array $file, array $tags, ?string $source = null): array
|
||||||
{
|
{
|
||||||
global $page, $config, $database;
|
global $page, $config, $database;
|
||||||
|
|
||||||
|
@ -374,12 +352,11 @@ class Upload extends Extension
|
||||||
throw new UploadException($this->upload_error_message($error));
|
throw new UploadException($this->upload_error_message($error));
|
||||||
}
|
}
|
||||||
|
|
||||||
$new_images = $database->with_savepoint(function () use ($tmp_name, $name, $tags, $source, $rating) {
|
$new_images = $database->with_savepoint(function () use ($tmp_name, $name, $tags, $source) {
|
||||||
$event = send_event(new DataUploadEvent($tmp_name, [
|
$event = send_event(new DataUploadEvent($tmp_name, [
|
||||||
'filename' => pathinfo($name, PATHINFO_BASENAME),
|
'filename' => pathinfo($name, PATHINFO_BASENAME),
|
||||||
'tags' => $tags,
|
'tags' => $tags,
|
||||||
'source' => $source,
|
'source' => $source,
|
||||||
'rating' => $rating,
|
|
||||||
]));
|
]));
|
||||||
if (count($event->images) == 0) {
|
if (count($event->images) == 0) {
|
||||||
throw new UploadException("MIME type not supported: " . $event->mime);
|
throw new UploadException("MIME type not supported: " . $event->mime);
|
||||||
|
@ -401,7 +378,7 @@ class Upload extends Extension
|
||||||
* @param string[] $tags
|
* @param string[] $tags
|
||||||
* @return UploadResult[]
|
* @return UploadResult[]
|
||||||
*/
|
*/
|
||||||
private function try_transload(string $url, array $tags, string $source = null, ?string $rating = null): array
|
private function try_transload(string $url, array $tags, string $source = null): array
|
||||||
{
|
{
|
||||||
global $page, $config, $user, $database;
|
global $page, $config, $user, $database;
|
||||||
|
|
||||||
|
@ -425,9 +402,6 @@ class Upload extends Extension
|
||||||
$metadata['filename'] = $filename;
|
$metadata['filename'] = $filename;
|
||||||
$metadata['tags'] = $tags;
|
$metadata['tags'] = $tags;
|
||||||
$metadata['source'] = $source;
|
$metadata['source'] = $source;
|
||||||
if (Extension::is_enabled(RatingsInfo::KEY)) {
|
|
||||||
$metadata['rating'] = $rating;
|
|
||||||
}
|
|
||||||
|
|
||||||
$new_images = $database->with_savepoint(function () use ($tmp_filename, $metadata) {
|
$new_images = $database->with_savepoint(function () use ($tmp_filename, $metadata) {
|
||||||
$event = send_event(new DataUploadEvent($tmp_filename, $metadata));
|
$event = send_event(new DataUploadEvent($tmp_filename, $metadata));
|
||||||
|
|
|
@ -94,7 +94,6 @@ class UploadTheme extends Themelet
|
||||||
$upload_list = emptyHTML();
|
$upload_list = emptyHTML();
|
||||||
$upload_count = $config->get_int(UploadConfig::COUNT);
|
$upload_count = $config->get_int(UploadConfig::COUNT);
|
||||||
$tl_enabled = ($config->get_string(UploadConfig::TRANSLOAD_ENGINE, "none") != "none");
|
$tl_enabled = ($config->get_string(UploadConfig::TRANSLOAD_ENGINE, "none") != "none");
|
||||||
$ratings_enabled = Extension::is_enabled(RatingsInfo::KEY);
|
|
||||||
$accept = $this->get_accept();
|
$accept = $this->get_accept();
|
||||||
|
|
||||||
$upload_list->appendChild(
|
$upload_list->appendChild(
|
||||||
|
@ -104,12 +103,9 @@ class UploadTheme extends Themelet
|
||||||
TH($tl_enabled ? "or URL" : null),
|
TH($tl_enabled ? "or URL" : null),
|
||||||
TH("Post-Specific Tags"),
|
TH("Post-Specific Tags"),
|
||||||
TH("Post-Specific Source"),
|
TH("Post-Specific Source"),
|
||||||
TH($ratings_enabled ? "Rating" : null),
|
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
for ($i = 0; $i < $upload_count; $i++) {
|
for ($i = 0; $i < $upload_count; $i++) {
|
||||||
$upload_list->appendChild(
|
$upload_list->appendChild(
|
||||||
TR(
|
TR(
|
||||||
|
@ -150,9 +146,6 @@ class UploadTheme extends Themelet
|
||||||
"value" => ($i == 0) ? @$_GET['source'] : null,
|
"value" => ($i == 0) ? @$_GET['source'] : null,
|
||||||
])
|
])
|
||||||
),
|
),
|
||||||
TD(
|
|
||||||
$ratings_enabled ? rawHTML(send_event(new UploadRatingBuildingEvent((string)$i))->part) : null
|
|
||||||
),
|
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
Reference in a new issue