mirror of
https://github.com/openvk/openvk
synced 2024-12-23 17:12:01 +03:00
e0f4570bbd
* Chopin - Полностью переписана та часть где про источник поста - Исправлен метод video.search - Сокращено число запросов в БД у шаблона поста - Удалена ссылка на прикреплятор заметок потому что low quality - Исправлен баг с прикреплённой заметкой в api, но только если ты указал версию. - Исправлены проблемы с кешированными спрайтшитами * Chopin 2
129 lines
6.2 KiB
XML
129 lines
6.2 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 class="post-has-audios"></div>
|
|
<div class="post-source"></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="audios" value="" />
|
|
<input type="hidden" name="poll" value="none" />
|
|
<input type="hidden" id="note" name="note" value="none" />
|
|
<input type="hidden" id="source" name="source" 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 id="_audioAttachment">
|
|
<img src="/assets/packages/static/openvk/img/oxygen-icons/16x16/mimetypes/audio-ac3.png" />
|
|
{_audio}
|
|
</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>
|
|
<a n:if="$hasSource ?? false" id='__sourceAttacher'>
|
|
<img src="/assets/packages/static/openvk/img/oxygen-icons/16x16/actions/insert-link.png" />
|
|
{_source}
|
|
</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 = ""
|
|
u("#post-buttons{$textAreaId} input[name='audios']")["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}
|