mirror of
https://github.com/openvk/openvk
synced 2024-11-11 09:29:29 +03:00
ee58f81df3
Now there's thumbnail feature in TextArea box. This is WIP, as the video is broken and posts doesn't feel good with multiple images
92 lines
4.8 KiB
XML
92 lines
4.8 KiB
XML
{php if(!isset($GLOBALS["textAreaCtr"])) $GLOBALS["textAreaCtr"] = 10;}
|
|
{var textAreaId = ($post ?? NULL) === null ? (++$GLOBALS["textAreaCtr"]) : $post->getId()}
|
|
|
|
<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 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="file" class="postFileSel" id="postFilePic" name="_pic_attachment" accept="image/*" style="display:none;" />
|
|
<input type="file" class="postFileSel" id="postFileVid" name="_vid_attachment" accept="video/*" style="display: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:void(u('#post-buttons{$textAreaId} #wallAttachmentMenu').toggleClass('hidden'));">
|
|
{_attach}
|
|
</a>
|
|
|
|
<div id="wallAttachmentMenu" class="hidden">
|
|
<a href="javascript:void(document.querySelector('#post-buttons{$textAreaId} input[name=_pic_attachment]').click());">
|
|
<img src="/assets/packages/static/openvk/img/oxygen-icons/16x16/mimetypes/application-x-egon.png" />
|
|
{_attach_photo}
|
|
</a>
|
|
<a href="javascript:void(document.querySelector('#post-buttons{$textAreaId} input[name=_vid_attachment]').click());">
|
|
<img src="/assets/packages/static/openvk/img/oxygen-icons/16x16/mimetypes/application-vnd.rn-realmedia.png" />
|
|
{_attach_video}
|
|
</a>
|
|
<a n:if="$graffiti ?? false" href="javascript:initGraffiti({$textAreaId});">
|
|
<img src="/assets/packages/static/openvk/img/oxygen-icons/16x16/actions/draw-brush.png" />
|
|
{_draw_graffiti}
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
|
|
<script>
|
|
$(document).ready(() => {
|
|
setupWallPostInputHandlers({$textAreaId});
|
|
});
|
|
</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}
|