Browse Source

add username features to the post module

main
ghost 11 months ago
parent
commit
50760a41fd
  1. 22
      src/Controller/ModuleController.php
  2. 21
      templates/default/module/post.html.twig

22
src/Controller/ModuleController.php

@ -129,6 +129,25 @@ class ModuleController extends AbstractController
Request $request Request $request
): Response ): Response
{ {
// Check user session exist
$username = false;
if (!empty($request->cookies->get('KEVACHAT_SESSION')) && preg_match('/[A-z0-9]{32}/', $request->cookies->get('KEVACHAT_SESSION')))
{
// Connect memcached
$memcached = new \Memcached();
$memcached->addServer(
$this->getParameter('app.memcached.host'),
$this->getParameter('app.memcached.port')
);
// Check username exist for this session
if ($value = $memcached->get($request->cookies->get('KEVACHAT_SESSION')))
{
$username = $value;
}
}
// Format quoted message // Format quoted message
if (preg_match('/^[A-z0-9]{64}$/', $request->get('txid'))) if (preg_match('/^[A-z0-9]{64}$/', $request->get('txid')))
{ {
@ -168,8 +187,7 @@ class ModuleController extends AbstractController
'sign' => $request->get('sign'), 'sign' => $request->get('sign'),
'error' => $request->get('error'), 'error' => $request->get('error'),
'message' => $message, 'message' => $message,
'ip' => $request->getClientIp(), 'username' => $username,
'enabled' => 'enabled' =>
( (
!in_array( !in_array(

21
templates/default/module/post.html.twig

@ -4,7 +4,7 @@
<output name="error" for="form-post-message">{{ error }}</output> <output name="error" for="form-post-message">{{ error }}</output>
{% endif %} {% endif %}
<textarea name="message" id="form-post-message" placeholder="{{ 'enter your message...' | trans }}">{{ message }}</textarea> <textarea name="message" id="form-post-message" placeholder="{{ 'enter your message...' | trans }}">{{ message }}</textarea>
{% if sign == 'anon' or sign != 'ip' %} {% if sign == 'anon' or sign != 'username' %}
<input type="radio" name="sign" value="anon" id="form-post-sign-anon" checked="checked" /> <input type="radio" name="sign" value="anon" id="form-post-sign-anon" checked="checked" />
{% else %} {% else %}
<input type="radio" name="sign" value="anon" id="form-post-sign-anon" /> <input type="radio" name="sign" value="anon" id="form-post-sign-anon" />
@ -12,14 +12,21 @@
<label for="form-post-sign-anon"> <label for="form-post-sign-anon">
{{ 'anon' | trans }} {{ 'anon' | trans }}
</label> </label>
{% if sign == 'ip' %} {% if username %}
<input type="radio" name="sign" value="ip" id="form-post-sign-ip" checked="checked" /> {% if sign == 'username' %}
<input type="radio" name="sign" value="username" id="form-post-sign-username" checked="checked" />
{% else %}
<input type="radio" name="sign" value="username" id="form-post-sign-username" />
{% endif %}
<label for="form-post-sign-username">
@{{ username }}
</label>
|
<a href="{{ path('user_logout') }}">{{ 'logout' | trans }}</a>
{% else %} {% else %}
<input type="radio" name="sign" value="ip" id="form-post-sign-ip" /> <input type="radio" name="sign" value="username" id="form-post-sign-username" disabled="disabled" />
<a href="{{ path('user_login') }}">{{ 'login' | trans }}</a>
{% endif %} {% endif %}
<label for="form-post-sign-ip">
@{{ ip }}
</label>
<button type="submit">{{ 'send' | trans }}</button> <button type="submit">{{ 'send' | trans }}</button>
</form> </form>
{% endif %} {% endif %}
Loading…
Cancel
Save