Global: Cancel changed from past commits that was created by accident

This commit is contained in:
veselcraft 2022-05-09 15:13:05 +03:00
parent 85cd1c7554
commit 7fc19ff5e7
No known key found for this signature in database
GPG key ID: AED66BC1AC628A4E
5 changed files with 33 additions and 152 deletions

View file

@ -248,27 +248,24 @@ final class WallPresenter extends OpenVKPresenter
if($this->postParam("force_sign") === "on")
$flags |= 0b01000000;
$photos = [];
$_FILES["_pic_attachment"] = null;
foreach($_FILES as $file) {
bdump($file);
try {
if($file["error"] === UPLOAD_ERR_OK && preg_match('/^image\//', $file['type'])) {
$album = NULL;
if(!$anon && $wall > 0 && $wall === $this->user->id)
$album = (new Albums)->getUserWallAlbum($wallOwner);
$photos[] = Photo::fastMake($this->user->id, $this->postParam("text"), $file, $album, $anon);
}
} catch(\DomainException $ex) {
$this->flashFail("err", tr("failed_to_publish_post"), tr("media_file_corrupted"));
} catch(ISE $ex) {
$this->flashFail("err", tr("failed_to_publish_post"), tr("media_file_corrupted_or_too_large"));
}
try {
$photo = NULL;
$video = NULL;
if($_FILES["_pic_attachment"]["error"] === UPLOAD_ERR_OK) {
$album = NULL;
if(!$anon && $wall > 0 && $wall === $this->user->id)
$album = (new Albums)->getUserWallAlbum($wallOwner);
$photo = Photo::fastMake($this->user->id, $this->postParam("text"), $_FILES["_pic_attachment"], $album, $anon);
}
if($_FILES["_vid_attachment"]["error"] === UPLOAD_ERR_OK) {
$video = Video::fastMake($this->user->id, $this->postParam("text"), $_FILES["_vid_attachment"], $anon);
}
} catch(\DomainException $ex) {
$this->flashFail("err", tr("failed_to_publish_post"), tr("media_file_corrupted"));
} catch(ISE $ex) {
$this->flashFail("err", tr("failed_to_publish_post"), tr("media_file_corrupted_or_too_large"));
}
if(empty($this->postParam("text")) && !$photo && !$video)
@ -288,9 +285,11 @@ final class WallPresenter extends OpenVKPresenter
$this->flashFail("err", tr("failed_to_publish_post"), tr("post_is_too_big"));
}
foreach($photos as $photo) {
$post->attach($photo);
}
if(!is_null($photo))
$post->attach($photo);
if(!is_null($video))
$post->attach($video);
if($wall > 0 && $wall !== $this->user->identity->getId())
(new WallPostNotification($wallOwner, $post, $this->user->identity))->emit();

View file

@ -7,7 +7,7 @@
<table border="0" style="font-size: 11px;" n:class="post, !$compact ? post-divider, $post->isExplicit() ? post-nsfw">
<tbody>
<tr>
<td width="{ifset $compact}27{else}54{/ifset}" style="{ifset $compact}display: block;{/ifset}" valign="top">
<td width="54" style="{ifset $compact}display: block;{/ifset}" valign="top">
<a href="{$author->getURL()}">
<img src="{$author->getAvatarURL('miniscule')}" width="{ifset $compact}25{else}50{/ifset}" {ifset $compact}class="cCompactAvatars"{/ifset} />
<span n:if="!$post->isPostedOnBehalfOfGroup() && !$compact && $author->isOnline()" class="post-online">{_online}</span>

View file

@ -8,8 +8,8 @@
<!-- padding to fix <br/> bug -->
</div>
<div id="post-buttons{$textAreaId}" style="display: none;">
<div class="upload">
<div class="post-upload">
{_attachment}: <span>(unknown)</span>
</div>
<div n:if="$postOpts ?? true" class="post-opts">
{var $anonEnabled = OPENVK_ROOT_CONF['openvk']['preferences']['wall']['anonymousPosting']['enable']}
@ -80,6 +80,10 @@
<script>
$(document).ready(() => {
u("#post-buttons{$textAreaId} .postFileSel").on("change", function() {
handleUpload.bind(this, {$textAreaId})();
});
setupWallPostInputHandlers({$textAreaId});
});
</script>

View file

@ -630,22 +630,6 @@ h4 {
.post-content .attachments_b {
margin-top: 8px;
display: grid;
grid-gap: 2px;
height: 100%;
max-height: 300px;
overflow: hidden;
}
.post-content .attachments_b > div {
min-width: 0;
min-height: 0;
}
.post-content .attachments_b > div a img {
height: 100%;
object-fit: cover;
width: 100%;
}
.attachment .post {
@ -1922,67 +1906,6 @@ table td[width="120"] {
margin: 0 auto;
}
.progress {
border: 1px solid #eee;
height: 15px;
background: linear-gradient(to bottom, #fefefe, #fafafa);
}
.progress .progress-bar {
background: url('progress.png');
background-repeat: repeat-x;
height: 15px;
animation-name: progress;
animation-duration: 1s;
animation-iteration-count: infinite;
animation-timing-function: linear;
}
@keyframes progress {
from {
background-position: 0;
}
to {
background-position: 20px;
}
}
.upload {
margin-top: 8px;
}
.upload .upload-item {
width: 75px;
height: 60px;
overflow: hidden;
display: inline-block;
margin-right: 3px;
}
.upload-item .upload-delete {
position: absolute;
background: rgba(0,0,0,0.5);
padding: 2px 5px;
text-decoration: none;
color: #fff;
font-size: 11px;
margin-left: 57px; /* мне лень переделывать :DDDD */
opacity: 0;
transition: 0.25s;
}
.upload-item:hover > .upload-delete {
opacity: 1;
}
.upload-item img {
width: 100%;
max-height: 60px;
object-fit: cover;
border-radius: 3px;
}
#votesBalance {
margin-top: 50px;
padding: 7px;

View file

@ -22,7 +22,7 @@ function trim(string) {
return newStr;
}
/* function handleUpload(id) {
function handleUpload(id) {
console.warn("блять...");
u("#post-buttons" + id + " .postFileSel").not("#" + this.id).each(input => input.value = null);
@ -37,7 +37,7 @@ function trim(string) {
}
document.querySelector("#post-buttons" + id + " #wallAttachmentMenu").classList.add("hidden");
} */
}
function initGraffiti(id) {
let canvas = null;
@ -98,59 +98,14 @@ u(".post-like-button").on("click", function(e) {
let picCount = 0;
function setupWallPostInputHandlers(id) {
u("#wall-post-input" + id).on("input", function(e) {
var boost = 5;
var textArea = e.target;
textArea.style.height = "5px";
var newHeight = textArea.scrollHeight;
textArea.style.height = newHeight + boost + "px";
return;
// revert to original size if it is larger (possibly changed by user)
// textArea.style.height = (newHeight > originalHeight ? (newHeight + boost) : originalHeight) + "px";
});
u("#wall-post-input" + id).on("paste", function(e) {
if(e.clipboardData.files.length === 1) {
var input = u("#post-buttons" + id + " input[name=_pic_attachment]").nodes[0];
input.files = e.clipboardData.files;
u(`#wall-post-input${id}`).on("paste", function(e) {
for (let i = 0; i < e.clipboardData.files.length; i++) {
console.log(e.clipboardData.files[i]);
if(e.clipboardData.files[i].type.match('^image/')) {
let blobURL = URL.createObjectURL(e.clipboardData.files[i]);
addPhotoMedia(e.clipboardData.files, blobURL);
}
}
});
u(`#post-buttons${id} input[name=_pic_attachment]`).on("change", function(e) {
let blobURL = URL.createObjectURL(e.target.files[0]);
addPhotoMedia(e.target.files, blobURL);
});
function addPhotoMedia(files, preview) {
if(getMediaCount() >= 4) {
alert('Низя.');
} else {
picCount++;
u(`#post-buttons${id} .upload`).append(u(`
<div class="upload-item" id="aP${picCount}">
<a href="javascript:removePicture(${picCount})" class="upload-delete">×</a>
<img src="${preview}">
</div>
`));
u(`div#aP${picCount}`).nodes[0].append(u(`<input type="file" accept="image/*" name="attachPic${picCount}" id="attachPic${picCount}" style="display: none;">`).first());
let input = u(`#attachPic${picCount}`).nodes[0];
input.files = files; // нужен рефактор, но щас не
console.log(input);
u(input).trigger("change");
}
}
function getMediaCount() {
return u(`#post-buttons${id} .upload`).nodes[0].children.length;
}
}
function removePicture(idA) {
u(`div#aP${idA}`).nodes[0].remove();
});
}
u("#write > form").on("keydown", function(event) {