mirror of
https://github.com/openvk/openvk
synced 2024-12-23 17:12:01 +03:00
a859fa13a5
* VKAPI: Fix bug when DELETED user appear if there is no user_ids * Textarea: Make multiple attachments * постмодернистское искусство * Use only attachPic for grabbing pic attachments TODO throw flashFail on bruh moment with pic attachments * draft masonry picture layout in posts xddd где мои опиаты??? * fix funny typos in computeMasonryLayout * Fix video bruh moment in textarea * Posts: add multiple kakahi for microblog * Photo: Add minimal implementation of миниатюра открывашка Co-authored-by: Daniel <60743585+myslivets@users.noreply.github.com> * Photo: Add ability to slide trough photos in one post This also gives ability to easily implement comments and actions * Photo: The Fxck Is This implementation of comments under photo in viewer * FloatingPhotoViewer: Better CSS - Fix that details background issue - Make slide buttons slightly shorter by height * FloatingPhotoViewer: Refactor, and make it better - Now you can actually check the comments under EVERY photo - Fix for textarea. Now you can publish comments * Fix funny typos xddd * Kinda fix poll display in non-microblog posts * Posts: Fix poll display in microblog posts * Add photos picker (#986) * early implementation of photos pickir Добавлен пикер фоточек и быстрая загрузка фото. Так же пофикшен просмотрщик фото в группах. Но, правда, я сломал копипейст, но это ладн. * Fiks fotos viver four coments. * Add picking photos from clubs albums Копипейст и граффити так и не пофикшены * Fix graffiti and copypaste Какого-то хуя копипаста у постов срабатывает два раза. * some fixesx * dragon drop * Fix PHP 8 compatibility * 5 (#988) --------- Co-authored-by: celestora <kitsuruko@gmail.com> Co-authored-by: Daniel <60743585+myslivets@users.noreply.github.com> Co-authored-by: lalka2016 <99399973+lalka2016@users.noreply.github.com> Co-authored-by: Alexander Minkin <weryskok@gmail.com>
120 lines
5.8 KiB
XML
120 lines
5.8 KiB
XML
{php if(!isset($GLOBALS["textAreaCtr"])) $GLOBALS["textAreaCtr"] = 10;}
|
|
{var $textAreaId = ($post ?? NULL) === NULL ? (++$GLOBALS["textAreaCtr"]) : $post->getId()}
|
|
{var $textAreaId = ($custom_id ?? NULL) === NULL ? $textAreaId : $custom_id}
|
|
|
|
<div id="write" style="padding: 5px 0;" onfocusin="expand_wall_textarea({$textAreaId});">
|
|
<form action="{$route}" method="post" enctype="multipart/form-data" style="margin:0;">
|
|
<textarea id="wall-post-input{$textAreaId}" placeholder="{_write}" name="text" style="width: 100%;resize: none;" class="small-textarea"></textarea>
|
|
<div>
|
|
<!-- padding to fix <br/> bug -->
|
|
</div>
|
|
<div id="post-buttons{$textAreaId}" style="display: none;">
|
|
<div class="upload">
|
|
|
|
</div>
|
|
<div class="post-upload">
|
|
<span style="color: inherit;"></span>
|
|
</div>
|
|
<div class="post-has-poll">
|
|
{_poll}
|
|
</div>
|
|
<div class="post-has-note">
|
|
|
|
</div>
|
|
<div class="post-has-videos"></div>
|
|
|
|
<div n:if="$postOpts ?? true" class="post-opts">
|
|
{var $anonEnabled = OPENVK_ROOT_CONF['openvk']['preferences']['wall']['anonymousPosting']['enable']}
|
|
{if !is_null($thisUser) && !is_null($club ?? NULL) && $owner < 0}
|
|
{if $club->canBeModifiedBy($thisUser)}
|
|
<script>
|
|
function onWallAsGroupClick(el) {
|
|
document.querySelector("#forceSignOpt").style.display = el.checked ? "block" : "none";
|
|
|
|
{if $anonEnabled}
|
|
document.querySelector("#octoberAnonOpt").style.display = el.checked ? "none" : "block";
|
|
{/if}
|
|
}
|
|
</script>
|
|
|
|
<label>
|
|
<input type="checkbox" name="as_group" onchange="onWallAsGroupClick(this)" /> {_post_as_group}
|
|
</label>
|
|
<label id="forceSignOpt" style="display: none;">
|
|
<input type="checkbox" name="force_sign" /> {_add_signature}
|
|
</label>
|
|
{/if}
|
|
{/if}
|
|
|
|
<label n:if="$anonEnabled" id="octoberAnonOpt">
|
|
<input type="checkbox" name="anon" /> {_as_anonymous}
|
|
</label>
|
|
|
|
<label>
|
|
<input type="checkbox" name="nsfw" /> {_contains_nsfw}
|
|
</label>
|
|
</div>
|
|
|
|
<div n:if="!($postOpts ?? true) && !is_null($thisUser) && !is_null($club ?? NULL) && $club->canBeModifiedBy($thisUser)" class="post-opts">
|
|
<label>
|
|
<input type="checkbox" name="as_group" /> {_comment_as_group}
|
|
</label>
|
|
</div>
|
|
<input type="hidden" name="photos" value="" />
|
|
<input type="hidden" name="videos" value="" />
|
|
<input type="hidden" name="poll" value="none" />
|
|
<input type="hidden" id="note" name="note" value="none" />
|
|
<input type="hidden" name="type" value="1" />
|
|
<input type="hidden" name="hash" value="{$csrfToken}" />
|
|
<br/>
|
|
<input type="submit" value="{_write}" class="button" />
|
|
<div style="float: right; display: flex; flex-direction: column;">
|
|
<a href="javascript:toggleMenu({$textAreaId});">
|
|
{_attach}
|
|
</a>
|
|
|
|
<div id="wallAttachmentMenu" class="hidden">
|
|
<a class="header" href="javascript:toggleMenu({$textAreaId});">
|
|
{_attach}
|
|
</a>
|
|
<a id="photosAttachments" {if !is_null($club ?? NULL) && $club->canBeModifiedBy($thisUser)}data-club="{$club->getId()}"{/if}>
|
|
<img src="/assets/packages/static/openvk/img/oxygen-icons/16x16/mimetypes/application-x-egon.png" />
|
|
{_photo}
|
|
</a>
|
|
<a id="videoAttachment">
|
|
<img src="/assets/packages/static/openvk/img/oxygen-icons/16x16/mimetypes/application-vnd.rn-realmedia.png" />
|
|
{_video}
|
|
</a>
|
|
<a n:if="$notes ?? false" href="javascript:attachNote({$textAreaId})">
|
|
<img src="/assets/packages/static/openvk/img/oxygen-icons/16x16/mimetypes/application-x-srt.png" />
|
|
{_note}
|
|
</a>
|
|
<a n:if="$graffiti ?? false" href="javascript:initGraffiti({$textAreaId});">
|
|
<img src="/assets/packages/static/openvk/img/oxygen-icons/16x16/actions/draw-brush.png" />
|
|
{_graffiti}
|
|
</a>
|
|
<a n:if="$polls ?? false" href="javascript:initPoll({$textAreaId})">
|
|
<img src="/assets/packages/static/openvk/img/oxygen-icons/16x16/actions/office-chart-bar-stacked.png" />
|
|
{_poll}
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
|
|
<script>
|
|
$(document).ready(() => {
|
|
setupWallPostInputHandlers({$textAreaId});
|
|
});
|
|
|
|
u("#post-buttons{$textAreaId} input[name='videos']")["nodes"].at(0).value = ""
|
|
u("#post-buttons{$textAreaId} input[name='photos']")["nodes"].at(0).value = ""
|
|
</script>
|
|
|
|
{if $graffiti}
|
|
{script "js/node_modules/react/dist/react-with-addons.min.js"}
|
|
{script "js/node_modules/react-dom/dist/react-dom.min.js"}
|
|
{script "js/vnd_literallycanvas.js"}
|
|
{css "js/node_modules/literallycanvas/lib/css/literallycanvas.css"}
|
|
{/if}
|