mirror of
https://github.com/openvk/openvk
synced 2024-11-16 03:59:19 +03:00
95 lines
4.9 KiB
XML
95 lines
4.9 KiB
XML
{var textAreaId = $post === null ? rand(1,300) : $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="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']}
|
|
|
|
{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(() => {
|
|
u("#post-buttons{$textAreaId} .postFileSel").on("change", function() {
|
|
handleUpload.bind(this, {$textAreaId})();
|
|
});
|
|
|
|
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}
|