ghost
1 year ago
27 changed files with 1486 additions and 137 deletions
@ -0,0 +1,620 @@
@@ -0,0 +1,620 @@
|
||||
<?php |
||||
|
||||
namespace App\Controller; |
||||
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; |
||||
|
||||
use Symfony\Component\Routing\Annotation\Route; |
||||
use Symfony\Component\HttpFoundation\Response; |
||||
use Symfony\Component\HttpFoundation\Request; |
||||
|
||||
use App\Service\ActivityService; |
||||
use App\Service\UserService; |
||||
use App\Service\ArticleService; |
||||
use App\Service\TorrentService; |
||||
|
||||
class ActivityController extends AbstractController |
||||
{ |
||||
public function template( |
||||
$activity, |
||||
ActivityService $activityService, |
||||
UserService $userService, |
||||
ArticleService $articleService, |
||||
TorrentService $torrentService, |
||||
): Response |
||||
{ |
||||
switch ($activity->getEvent()) |
||||
{ |
||||
// User |
||||
case $activity::EVENT_USER_ADD: |
||||
|
||||
return $this->render( |
||||
'default/activity/event/user/add.html.twig', |
||||
[ |
||||
'added' => $activity->getAdded(), |
||||
'user' => |
||||
[ |
||||
'id' => $activity->getUserId(), |
||||
'identicon' => $userService->identicon( |
||||
$userService->getUser( |
||||
$activity->getUserId() |
||||
)->getAddress() |
||||
) |
||||
] |
||||
] |
||||
); |
||||
|
||||
break; |
||||
|
||||
case $activity::EVENT_USER_APPROVE_ADD: |
||||
|
||||
return $this->render( |
||||
'default/activity/event/user/approve/add.html.twig', |
||||
[ |
||||
'added' => $activity->getAdded(), |
||||
'user' => |
||||
[ |
||||
'id' => $activity->getUserId(), |
||||
'identicon' => $userService->identicon( |
||||
$userService->getUser( |
||||
$activity->getUserId() |
||||
)->getAddress() |
||||
) |
||||
], |
||||
'by' => |
||||
[ |
||||
'user' => |
||||
[ |
||||
'id' => $activity->getData()['userId'], |
||||
'identicon' => $userService->identicon( |
||||
$userService->getUser( |
||||
$activity->getData()['userId'] |
||||
)->getAddress() |
||||
) |
||||
] |
||||
] |
||||
] |
||||
); |
||||
|
||||
break; |
||||
|
||||
case $activity::EVENT_USER_APPROVE_DELETE: |
||||
|
||||
return $this->render( |
||||
'default/activity/event/user/approve/delete.html.twig', |
||||
[ |
||||
'added' => $activity->getAdded(), |
||||
'user' => |
||||
[ |
||||
'id' => $activity->getUserId(), |
||||
'identicon' => $userService->identicon( |
||||
$userService->getUser( |
||||
$activity->getUserId() |
||||
)->getAddress() |
||||
) |
||||
], |
||||
'by' => |
||||
[ |
||||
'user' => |
||||
[ |
||||
'id' => $activity->getData()['userId'], |
||||
'identicon' => $userService->identicon( |
||||
$userService->getUser( |
||||
$activity->getData()['userId'] |
||||
)->getAddress() |
||||
) |
||||
] |
||||
] |
||||
] |
||||
); |
||||
|
||||
break; |
||||
|
||||
case $activity::EVENT_USER_MODERATOR_ADD: |
||||
|
||||
return $this->render( |
||||
'default/activity/event/user/moderator/add.html.twig', |
||||
[ |
||||
'added' => $activity->getAdded(), |
||||
'user' => |
||||
[ |
||||
'id' => $activity->getUserId(), |
||||
'identicon' => $userService->identicon( |
||||
$userService->getUser( |
||||
$activity->getUserId() |
||||
)->getAddress() |
||||
) |
||||
], |
||||
'by' => |
||||
[ |
||||
'user' => |
||||
[ |
||||
'id' => $activity->getData()['userId'], |
||||
'identicon' => $userService->identicon( |
||||
$userService->getUser( |
||||
$activity->getData()['userId'] |
||||
)->getAddress() |
||||
) |
||||
] |
||||
] |
||||
] |
||||
); |
||||
|
||||
break; |
||||
|
||||
case $activity::EVENT_USER_MODERATOR_DELETE: |
||||
|
||||
return $this->render( |
||||
'default/activity/event/user/moderator/delete.html.twig', |
||||
[ |
||||
'added' => $activity->getAdded(), |
||||
'user' => |
||||
[ |
||||
'id' => $activity->getUserId(), |
||||
'identicon' => $userService->identicon( |
||||
$userService->getUser( |
||||
$activity->getUserId() |
||||
)->getAddress() |
||||
) |
||||
], |
||||
'by' => |
||||
[ |
||||
'user' => |
||||
[ |
||||
'id' => $activity->getData()['userId'], |
||||
'identicon' => $userService->identicon( |
||||
$userService->getUser( |
||||
$activity->getData()['userId'] |
||||
)->getAddress() |
||||
) |
||||
] |
||||
] |
||||
] |
||||
); |
||||
|
||||
break; |
||||
|
||||
case $activity::EVENT_USER_STATUS_ADD: |
||||
|
||||
return $this->render( |
||||
'default/activity/event/user/status/add.html.twig', |
||||
[ |
||||
'added' => $activity->getAdded(), |
||||
'user' => |
||||
[ |
||||
'id' => $activity->getUserId(), |
||||
'identicon' => $userService->identicon( |
||||
$userService->getUser( |
||||
$activity->getUserId() |
||||
)->getAddress() |
||||
) |
||||
], |
||||
'by' => |
||||
[ |
||||
'user' => |
||||
[ |
||||
'id' => $activity->getData()['userId'], |
||||
'identicon' => $userService->identicon( |
||||
$userService->getUser( |
||||
$activity->getData()['userId'] |
||||
)->getAddress() |
||||
) |
||||
] |
||||
] |
||||
] |
||||
); |
||||
|
||||
break; |
||||
|
||||
case $activity::EVENT_USER_STATUS_DELETE: |
||||
|
||||
return $this->render( |
||||
'default/activity/event/user/status/delete.html.twig', |
||||
[ |
||||
'added' => $activity->getAdded(), |
||||
'user' => |
||||
[ |
||||
'id' => $activity->getUserId(), |
||||
'identicon' => $userService->identicon( |
||||
$userService->getUser( |
||||
$activity->getUserId() |
||||
)->getAddress() |
||||
) |
||||
], |
||||
'by' => |
||||
[ |
||||
'user' => |
||||
[ |
||||
'id' => $activity->getData()['userId'], |
||||
'identicon' => $userService->identicon( |
||||
$userService->getUser( |
||||
$activity->getData()['userId'] |
||||
)->getAddress() |
||||
) |
||||
] |
||||
] |
||||
] |
||||
); |
||||
|
||||
break; |
||||
|
||||
case $activity::EVENT_USER_STAR_ADD: |
||||
|
||||
return $this->render( |
||||
'default/activity/event/user/star/add.html.twig', |
||||
[ |
||||
'added' => $activity->getAdded(), |
||||
'user' => |
||||
[ |
||||
'id' => $activity->getUserId(), |
||||
'identicon' => $userService->identicon( |
||||
$userService->getUser( |
||||
$activity->getUserId() |
||||
)->getAddress() |
||||
) |
||||
], |
||||
'by' => |
||||
[ |
||||
'user' => |
||||
[ |
||||
'id' => $activity->getData()['userId'], |
||||
'identicon' => $userService->identicon( |
||||
$userService->getUser( |
||||
$activity->getData()['userId'] |
||||
)->getAddress() |
||||
) |
||||
] |
||||
] |
||||
] |
||||
); |
||||
|
||||
break; |
||||
|
||||
case $activity::EVENT_USER_STAR_DELETE: |
||||
|
||||
return $this->render( |
||||
'default/activity/event/user/star/delete.html.twig', |
||||
[ |
||||
'added' => $activity->getAdded(), |
||||
'user' => |
||||
[ |
||||
'id' => $activity->getUserId(), |
||||
'identicon' => $userService->identicon( |
||||
$userService->getUser( |
||||
$activity->getUserId() |
||||
)->getAddress() |
||||
) |
||||
], |
||||
'by' => |
||||
[ |
||||
'user' => |
||||
[ |
||||
'id' => $activity->getData()['userId'], |
||||
'identicon' => $userService->identicon( |
||||
$userService->getUser( |
||||
$activity->getData()['userId'] |
||||
)->getAddress() |
||||
) |
||||
] |
||||
] |
||||
] |
||||
); |
||||
|
||||
break; |
||||
|
||||
// Torrent |
||||
case $activity::EVENT_TORRENT_ADD: |
||||
|
||||
return $this->render( |
||||
'default/activity/event/torrent/add.html.twig', |
||||
[ |
||||
'added' => $activity->getAdded(), |
||||
'user' => |
||||
[ |
||||
'id' => $activity->getUserId(), |
||||
'identicon' => $userService->identicon( |
||||
$userService->getUser( |
||||
$activity->getUserId() |
||||
)->getAddress() |
||||
) |
||||
], |
||||
'torrent' => |
||||
[ |
||||
'id' => $activity->getTorrentId(), |
||||
'name' => $torrentService->readTorrentFileByTorrentId( |
||||
$activity->getTorrentId() |
||||
)->getName() |
||||
] |
||||
] |
||||
); |
||||
|
||||
break; |
||||
|
||||
/// Torrent Locales |
||||
case $activity::EVENT_TORRENT_LOCALES_ADD: |
||||
|
||||
return $this->render( |
||||
'default/activity/event/torrent/locales/add.html.twig', |
||||
[ |
||||
'added' => $activity->getAdded(), |
||||
'user' => |
||||
[ |
||||
'id' => $activity->getUserId(), |
||||
'identicon' => $userService->identicon( |
||||
$userService->getUser( |
||||
$activity->getUserId() |
||||
)->getAddress() |
||||
) |
||||
], |
||||
'torrent' => |
||||
[ |
||||
'id' => $activity->getTorrentId(), |
||||
'name' => $torrentService->readTorrentFileByTorrentId( |
||||
$activity->getTorrentId() |
||||
)->getName(), |
||||
'locales' => [ |
||||
'id' => $activity->getData()['torrentLocalesId'], |
||||
'exist' => $torrentService->getTorrentLocales( |
||||
$activity->getData()['torrentLocalesId'] // could be deleted by moderator, remove links |
||||
) |
||||
] |
||||
] |
||||
] |
||||
); |
||||
|
||||
break; |
||||
|
||||
case $activity::EVENT_TORRENT_LOCALES_DELETE: |
||||
|
||||
return $this->render( |
||||
'default/activity/event/torrent/locales/delete.html.twig', |
||||
[ |
||||
'added' => $activity->getAdded(), |
||||
'user' => |
||||
[ |
||||
'id' => $activity->getUserId(), |
||||
'identicon' => $userService->identicon( |
||||
$userService->getUser( |
||||
$activity->getUserId() |
||||
)->getAddress() |
||||
) |
||||
], |
||||
'torrent' => |
||||
[ |
||||
'id' => $activity->getTorrentId(), |
||||
'name' => $torrentService->readTorrentFileByTorrentId( |
||||
$activity->getTorrentId() |
||||
)->getName(), |
||||
'locales' => [ |
||||
'id' => $activity->getData()['torrentLocalesId'], |
||||
'exist' => $torrentService->getTorrentLocales( |
||||
$activity->getData()['torrentLocalesId'] // could be deleted by moderator, remove links |
||||
) |
||||
] |
||||
] |
||||
] |
||||
); |
||||
|
||||
break; |
||||
|
||||
case $activity::EVENT_TORRENT_LOCALES_APPROVE_ADD: |
||||
|
||||
return $this->render( |
||||
'default/activity/event/torrent/locales/approve/add.html.twig', |
||||
[ |
||||
'added' => $activity->getAdded(), |
||||
'user' => |
||||
[ |
||||
'id' => $activity->getUserId(), |
||||
'identicon' => $userService->identicon( |
||||
$userService->getUser( |
||||
$activity->getUserId() |
||||
)->getAddress() |
||||
) |
||||
], |
||||
'torrent' => |
||||
[ |
||||
'id' => $activity->getTorrentId(), |
||||
'name' => $torrentService->readTorrentFileByTorrentId( |
||||
$activity->getTorrentId() |
||||
)->getName(), |
||||
'locales' => [ |
||||
'id' => $activity->getData()['torrentLocalesId'], |
||||
'exist' => $torrentService->getTorrentLocales( |
||||
$activity->getData()['torrentLocalesId'] // could be deleted by moderator, remove links |
||||
) |
||||
] |
||||
] |
||||
] |
||||
); |
||||
|
||||
break; |
||||
|
||||
case $activity::EVENT_TORRENT_LOCALES_APPROVE_DELETE: |
||||
|
||||
return $this->render( |
||||
'default/activity/event/torrent/locales/approve/delete.html.twig', |
||||
[ |
||||
'added' => $activity->getAdded(), |
||||
'user' => |
||||
[ |
||||
'id' => $activity->getUserId(), |
||||
'identicon' => $userService->identicon( |
||||
$userService->getUser( |
||||
$activity->getUserId() |
||||
)->getAddress() |
||||
) |
||||
], |
||||
'torrent' => |
||||
[ |
||||
'id' => $activity->getTorrentId(), |
||||
'name' => $torrentService->readTorrentFileByTorrentId( |
||||
$activity->getTorrentId() |
||||
)->getName(), |
||||
'locales' => [ |
||||
'id' => $activity->getData()['torrentLocalesId'], |
||||
'exist' => $torrentService->getTorrentLocales( |
||||
$activity->getData()['torrentLocalesId'] // could be deleted by moderator, remove links |
||||
) |
||||
] |
||||
] |
||||
] |
||||
); |
||||
|
||||
break; |
||||
|
||||
/// Torrent Sensitive |
||||
case $activity::EVENT_TORRENT_SENSITIVE_ADD: |
||||
|
||||
return $this->render( |
||||
'default/activity/event/torrent/sensitive/add.html.twig', |
||||
[ |
||||
'added' => $activity->getAdded(), |
||||
'user' => |
||||
[ |
||||
'id' => $activity->getUserId(), |
||||
'identicon' => $userService->identicon( |
||||
$userService->getUser( |
||||
$activity->getUserId() |
||||
)->getAddress() |
||||
) |
||||
], |
||||
'torrent' => |
||||
[ |
||||
'id' => $activity->getTorrentId(), |
||||
'name' => $torrentService->readTorrentFileByTorrentId( |
||||
$activity->getTorrentId() |
||||
)->getName(), |
||||
'sensitive' => [ |
||||
'id' => $activity->getData()['torrentSensitiveId'], |
||||
'exist' => $torrentService->getTorrentSensitive( |
||||
$activity->getData()['torrentSensitiveId'] // could be deleted by moderator, remove links |
||||
) |
||||
] |
||||
] |
||||
] |
||||
); |
||||
|
||||
break; |
||||
|
||||
case $activity::EVENT_TORRENT_SENSITIVE_DELETE: |
||||
|
||||
return $this->render( |
||||
'default/activity/event/torrent/sensitive/delete.html.twig', |
||||
[ |
||||
'added' => $activity->getAdded(), |
||||
'user' => |
||||
[ |
||||
'id' => $activity->getUserId(), |
||||
'identicon' => $userService->identicon( |
||||
$userService->getUser( |
||||
$activity->getUserId() |
||||
)->getAddress() |
||||
) |
||||
], |
||||
'torrent' => |
||||
[ |
||||
'id' => $activity->getTorrentId(), |
||||
'name' => $torrentService->readTorrentFileByTorrentId( |
||||
$activity->getTorrentId() |
||||
)->getName(), |
||||
'sensitive' => [ |
||||
'id' => $activity->getData()['torrentSensitiveId'], |
||||
'exist' => $torrentService->getTorrentSensitive( |
||||
$activity->getData()['torrentSensitiveId'] // could be deleted by moderator, remove links |
||||
) |
||||
] |
||||
] |
||||
] |
||||
); |
||||
|
||||
break; |
||||
|
||||
case $activity::EVENT_TORRENT_SENSITIVE_APPROVE_ADD: |
||||
|
||||
return $this->render( |
||||
'default/activity/event/torrent/sensitive/approve/add.html.twig', |
||||
[ |
||||
'added' => $activity->getAdded(), |
||||
'user' => |
||||
[ |
||||
'id' => $activity->getUserId(), |
||||
'identicon' => $userService->identicon( |
||||
$userService->getUser( |
||||
$activity->getUserId() |
||||
)->getAddress() |
||||
) |
||||
], |
||||
'torrent' => |
||||
[ |
||||
'id' => $activity->getTorrentId(), |
||||
'name' => $torrentService->readTorrentFileByTorrentId( |
||||
$activity->getTorrentId() |
||||
)->getName(), |
||||
'sensitive' => [ |
||||
'id' => $activity->getData()['torrentSensitiveId'], |
||||
'exist' => $torrentService->getTorrentSensitive( |
||||
$activity->getData()['torrentSensitiveId'] // could be deleted by moderator, remove links |
||||
) |
||||
] |
||||
] |
||||
] |
||||
); |
||||
|
||||
break; |
||||
|
||||
case $activity::EVENT_TORRENT_SENSITIVE_APPROVE_DELETE: |
||||
|
||||
return $this->render( |
||||
'default/activity/event/torrent/sensitive/approve/delete.html.twig', |
||||
[ |
||||
'added' => $activity->getAdded(), |
||||
'user' => |
||||
[ |
||||
'id' => $activity->getUserId(), |
||||
'identicon' => $userService->identicon( |
||||
$userService->getUser( |
||||
$activity->getUserId() |
||||
)->getAddress() |
||||
) |
||||
], |
||||
'torrent' => |
||||
[ |
||||
'id' => $activity->getTorrentId(), |
||||
'name' => $torrentService->readTorrentFileByTorrentId( |
||||
$activity->getTorrentId() |
||||
)->getName(), |
||||
'sensitive' => [ |
||||
'id' => $activity->getData()['torrentSensitiveId'], |
||||
'exist' => $torrentService->getTorrentSensitive( |
||||
$activity->getData()['torrentSensitiveId'] // could be deleted by moderator, remove links |
||||
) |
||||
] |
||||
] |
||||
] |
||||
); |
||||
|
||||
break; |
||||
|
||||
// Page |
||||
|
||||
default: |
||||
|
||||
return $this->render( |
||||
'default/activity/event/undefined.html.twig', |
||||
[ |
||||
'added' => $activity->getAdded(), |
||||
'user' => |
||||
[ |
||||
'id' => $activity->getUserId(), |
||||
'identicon' => $userService->identicon( |
||||
$userService->getUser( |
||||
$activity->getUserId() |
||||
)->getAddress() |
||||
) |
||||
] |
||||
] |
||||
); |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,12 @@
@@ -0,0 +1,12 @@
|
||||
<a href="{{ path('user_info', { userId : user.id }) }}"> |
||||
<img class="border-radius-50 border-color-default vertical-align-middle" src="{{ user.identicon }}" alt="{{ 'identicon' | trans }}" /> |
||||
</a> |
||||
<span class="margin-x-4-px"> |
||||
{{ 'added torrent' | trans }} |
||||
</span> |
||||
<a href="{{ path('torrent_info', { torrentId : torrent.id }) }}"> |
||||
{{ torrent.name }} |
||||
</a> |
||||
<div class="float-right"> |
||||
{{ added | format_ago }} |
||||
</div> |
@ -0,0 +1,18 @@
@@ -0,0 +1,18 @@
|
||||
<a href="{{ path('user_info', { userId : user.id }) }}"> |
||||
<img class="border-radius-50 border-color-default vertical-align-middle" src="{{ user.identicon }}" alt="{{ 'identicon' | trans }}" /> |
||||
</a> |
||||
{{ 'added locales edition' | trans }} |
||||
{% if torrent.locales.exist %} |
||||
<a href="{{ path('torrent_locales_edit', { torrentId : torrent.id, torrentLocalesId : torrent.locales.id }) }}"> |
||||
#{{ torrent.locales.id }} |
||||
</a> |
||||
{% else %} |
||||
#{{ torrent.locales.id }} |
||||
{% endif %} |
||||
{{ 'for torrent' | trans }} |
||||
<a href="{{ path('torrent_info', { torrentId : torrent.id }) }}"> |
||||
{{ torrent.name }} |
||||
</a> |
||||
<div class="float-right"> |
||||
{{ added | format_ago }} |
||||
</div> |
@ -0,0 +1,18 @@
@@ -0,0 +1,18 @@
|
||||
<a href="{{ path('user_info', { userId : user.id }) }}"> |
||||
<img class="border-radius-50 border-color-default vertical-align-middle" src="{{ user.identicon }}" alt="{{ 'identicon' | trans }}" /> |
||||
</a> |
||||
{{ 'approved locales edition' | trans }} |
||||
{% if torrent.locales.exist %} |
||||
<a href="{{ path('torrent_locales_edit', { torrentId : torrent.id, torrentLocalesId : torrent.locales.id }) }}"> |
||||
#{{ torrent.locales.id }} |
||||
</a> |
||||
{% else %} |
||||
#{{ torrent.locales.id }} |
||||
{% endif %} |
||||
{{ 'for torrent' | trans }} |
||||
<a href="{{ path('torrent_info', { torrentId : torrent.id }) }}"> |
||||
{{ torrent.name }} |
||||
</a> |
||||
<div class="float-right"> |
||||
{{ added | format_ago }} |
||||
</div> |
@ -0,0 +1,18 @@
@@ -0,0 +1,18 @@
|
||||
<a href="{{ path('user_info', { userId : user.id }) }}"> |
||||
<img class="border-radius-50 border-color-default vertical-align-middle" src="{{ user.identicon }}" alt="{{ 'identicon' | trans }}" /> |
||||
</a> |
||||
{{ 'disapproved locales edition' | trans }} |
||||
{% if torrent.locales.exist %} |
||||
<a href="{{ path('torrent_locales_edit', { torrentId : torrent.id, torrentLocalesId : torrent.locales.id }) }}"> |
||||
#{{ torrent.locales.id }} |
||||
</a> |
||||
{% else %} |
||||
#{{ torrent.locales.id }} |
||||
{% endif %} |
||||
{{ 'for torrent' | trans }} |
||||
<a href="{{ path('torrent_info', { torrentId : torrent.id }) }}"> |
||||
{{ torrent.name }} |
||||
</a> |
||||
<div class="float-right"> |
||||
{{ added | format_ago }} |
||||
</div> |
@ -0,0 +1,18 @@
@@ -0,0 +1,18 @@
|
||||
<a href="{{ path('user_info', { userId : user.id }) }}"> |
||||
<img class="border-radius-50 border-color-default vertical-align-middle" src="{{ user.identicon }}" alt="{{ 'identicon' | trans }}" /> |
||||
</a> |
||||
{{ 'deleted locales edition' | trans }} |
||||
{% if torrent.locales.exist %} |
||||
<a href="{{ path('torrent_locales_edit', { torrentId : torrent.id, torrentLocalesId : torrent.locales.id }) }}"> |
||||
#{{ torrent.locales.id }} |
||||
</a> |
||||
{% else %} |
||||
#{{ torrent.locales.id }} |
||||
{% endif %} |
||||
{{ 'for torrent' | trans }} |
||||
<a href="{{ path('torrent_info', { torrentId : torrent.id }) }}"> |
||||
{{ torrent.name }} |
||||
</a> |
||||
<div class="float-right"> |
||||
{{ added | format_ago }} |
||||
</div> |
@ -0,0 +1,18 @@
@@ -0,0 +1,18 @@
|
||||
<a href="{{ path('user_info', { userId : user.id }) }}"> |
||||
<img class="border-radius-50 border-color-default vertical-align-middle" src="{{ user.identicon }}" alt="{{ 'identicon' | trans }}" /> |
||||
</a> |
||||
{{ 'added sensitive edition' | trans }} |
||||
{% if torrent.sensitive.exist %} |
||||
<a href="{{ path('torrent_sensitive_edit', { torrentId : torrent.id, torrentSensitiveId : torrent.sensitive.id }) }}"> |
||||
#{{ torrent.sensitive.id }} |
||||
</a> |
||||
{% else %} |
||||
#{{ torrent.sensitive.id }} |
||||
{% endif %} |
||||
{{ 'for torrent' | trans }} |
||||
<a href="{{ path('torrent_info', { torrentId : torrent.id }) }}"> |
||||
{{ torrent.name }} |
||||
</a> |
||||
<div class="float-right"> |
||||
{{ added | format_ago }} |
||||
</div> |
@ -0,0 +1,18 @@
@@ -0,0 +1,18 @@
|
||||
<a href="{{ path('user_info', { userId : user.id }) }}"> |
||||
<img class="border-radius-50 border-color-default vertical-align-middle" src="{{ user.identicon }}" alt="{{ 'identicon' | trans }}" /> |
||||
</a> |
||||
{{ 'approved sensitive edition' | trans }} |
||||
{% if torrent.sensitive.exist %} |
||||
<a href="{{ path('torrent_sensitive_edit', { torrentId : torrent.id, torrentSensitiveId : torrent.sensitive.id }) }}"> |
||||
#{{ torrent.sensitive.id }} |
||||
</a> |
||||
{% else %} |
||||
#{{ torrent.sensitive.id }} |
||||
{% endif %} |
||||
{{ 'for torrent' | trans }} |
||||
<a href="{{ path('torrent_info', { torrentId : torrent.id }) }}"> |
||||
{{ torrent.name }} |
||||
</a> |
||||
<div class="float-right"> |
||||
{{ added | format_ago }} |
||||
</div> |
@ -0,0 +1,18 @@
@@ -0,0 +1,18 @@
|
||||
<a href="{{ path('user_info', { userId : user.id }) }}"> |
||||
<img class="border-radius-50 border-color-default vertical-align-middle" src="{{ user.identicon }}" alt="{{ 'identicon' | trans }}" /> |
||||
</a> |
||||
{{ 'disapproved sensitive edition' | trans }} |
||||
{% if torrent.sensitive.exist %} |
||||
<a href="{{ path('torrent_sensitive_edit', { torrentId : torrent.id, torrentSensitiveId : torrent.sensitive.id }) }}"> |
||||
#{{ torrent.sensitive.id }} |
||||
</a> |
||||
{% else %} |
||||
#{{ torrent.sensitive.id }} |
||||
{% endif %} |
||||
{{ 'for torrent' | trans }} |
||||
<a href="{{ path('torrent_info', { torrentId : torrent.id }) }}"> |
||||
{{ torrent.name }} |
||||
</a> |
||||
<div class="float-right"> |
||||
{{ added | format_ago }} |
||||
</div> |
@ -0,0 +1,18 @@
@@ -0,0 +1,18 @@
|
||||
<a href="{{ path('user_info', { userId : user.id }) }}"> |
||||
<img class="border-radius-50 border-color-default vertical-align-middle" src="{{ user.identicon }}" alt="{{ 'identicon' | trans }}" /> |
||||
</a> |
||||
{{ 'deleted sensitive edition' | trans }} |
||||
{% if torrent.sensitive.exist %} |
||||
<a href="{{ path('torrent_sensitive_edit', { torrentId : torrent.id, torrentSensitiveId : torrent.sensitive.id }) }}"> |
||||
#{{ torrent.sensitive.id }} |
||||
</a> |
||||
{% else %} |
||||
#{{ torrent.sensitive.id }} |
||||
{% endif %} |
||||
{{ 'for torrent' | trans }} |
||||
<a href="{{ path('torrent_info', { torrentId : torrent.id }) }}"> |
||||
{{ torrent.name }} |
||||
</a> |
||||
<div class="float-right"> |
||||
{{ added | format_ago }} |
||||
</div> |
@ -0,0 +1,9 @@
@@ -0,0 +1,9 @@
|
||||
<a href="{{ path('user_info', { userId : user.id }) }}"> |
||||
<img class="border-radius-50 border-color-default vertical-align-middle" src="{{ user.identicon }}" alt="{{ 'identicon' | trans }}" /> |
||||
</a> |
||||
<span class="margin-x-4-px"> |
||||
{{ 'undefined event' | trans }} |
||||
</span> |
||||
<div class="float-right"> |
||||
{{ added | format_ago }} |
||||
</div> |
@ -0,0 +1,9 @@
@@ -0,0 +1,9 @@
|
||||
<a href="{{ path('user_info', { userId : user.id }) }}"> |
||||
<img class="border-radius-50 border-color-default vertical-align-middle" src="{{ user.identicon }}" alt="{{ 'identicon' | trans }}" /> |
||||
</a> |
||||
<span class="margin-x-4-px"> |
||||
{{ 'joined' | trans }} {{ name }} |
||||
</span> |
||||
<div class="float-right"> |
||||
{{ added | format_ago }} |
||||
</div> |
@ -0,0 +1,12 @@
@@ -0,0 +1,12 @@
|
||||
<a href="{{ path('user_info', { userId : user.id }) }}"> |
||||
<img class="border-radius-50 border-color-default vertical-align-middle" src="{{ user.identicon }}" alt="{{ 'identicon' | trans }}" /> |
||||
</a> |
||||
<span class="margin-x-4-px"> |
||||
{{ 'approved by' | trans }} |
||||
</span> |
||||
<a href="{{ path('user_info', { userId : by.user.id }) }}"> |
||||
<img class="border-radius-50 border-color-default vertical-align-middle" src="{{ by.user.identicon }}" alt="{{ 'identicon' | trans }}" /> |
||||
</a> |
||||
<div class="float-right"> |
||||
{{ added | format_ago }} |
||||
</div> |
@ -0,0 +1,12 @@
@@ -0,0 +1,12 @@
|
||||
<a href="{{ path('user_info', { userId : user.id }) }}"> |
||||
<img class="border-radius-50 border-color-default vertical-align-middle" src="{{ user.identicon }}" alt="{{ 'identicon' | trans }}" /> |
||||
</a> |
||||
<span class="margin-x-4-px"> |
||||
{{ 'disapproved by' | trans }} |
||||
</span> |
||||
<a href="{{ path('user_info', { userId : by.user.id }) }}"> |
||||
<img class="border-radius-50 border-color-default vertical-align-middle" src="{{ by.user.identicon }}" alt="{{ 'identicon' | trans }}" /> |
||||
</a> |
||||
<div class="float-right"> |
||||
{{ added | format_ago }} |
||||
</div> |
@ -0,0 +1,12 @@
@@ -0,0 +1,12 @@
|
||||
<a href="{{ path('user_info', { userId : by.user.id }) }}"> |
||||
<img class="border-radius-50 border-color-default vertical-align-middle" src="{{ by.user.identicon }}" alt="{{ 'identicon' | trans }}" /> |
||||
</a> |
||||
<span class="margin-x-4-px"> |
||||
{{ 'grant moderator permissions to' | trans }} |
||||
</span> |
||||
<a href="{{ path('user_info', { userId : user.id }) }}"> |
||||
<img class="border-radius-50 border-color-default vertical-align-middle" src="{{ user.identicon }}" alt="{{ 'identicon' | trans }}" /> |
||||
</a> |
||||
<div class="float-right"> |
||||
{{ added | format_ago }} |
||||
</div> |
@ -0,0 +1,12 @@
@@ -0,0 +1,12 @@
|
||||
<a href="{{ path('user_info', { userId : by.user.id }) }}"> |
||||
<img class="border-radius-50 border-color-default vertical-align-middle" src="{{ by.user.identicon }}" alt="{{ 'identicon' | trans }}" /> |
||||
</a> |
||||
<span class="margin-x-4-px"> |
||||
{{ 'remove moderator permissions from' | trans }} |
||||
</span> |
||||
<a href="{{ path('user_info', { userId : user.id }) }}"> |
||||
<img class="border-radius-50 border-color-default vertical-align-middle" src="{{ user.identicon }}" alt="{{ 'identicon' | trans }}" /> |
||||
</a> |
||||
<div class="float-right"> |
||||
{{ added | format_ago }} |
||||
</div> |
@ -0,0 +1,12 @@
@@ -0,0 +1,12 @@
|
||||
<a href="{{ path('user_info', { userId : user.id }) }}"> |
||||
<img class="border-radius-50 border-color-default vertical-align-middle" src="{{ user.identicon }}" alt="{{ 'identicon' | trans }}" /> |
||||
</a> |
||||
<span class="margin-x-4-px"> |
||||
{{ 'add star to' | trans }} |
||||
</span> |
||||
<a href="{{ path('user_info', { userId : by.user.id }) }}"> |
||||
<img class="border-radius-50 border-color-default vertical-align-middle" src="{{ by.user.identicon }}" alt="{{ 'identicon' | trans }}" /> |
||||
</a> |
||||
<div class="float-right"> |
||||
{{ added | format_ago }} |
||||
</div> |
@ -0,0 +1,12 @@
@@ -0,0 +1,12 @@
|
||||
<a href="{{ path('user_info', { userId : user.id }) }}"> |
||||
<img class="border-radius-50 border-color-default vertical-align-middle" src="{{ user.identicon }}" alt="{{ 'identicon' | trans }}" /> |
||||
</a> |
||||
<span class="margin-x-4-px"> |
||||
{{ 'removed star from' | trans }} |
||||
</span> |
||||
<a href="{{ path('user_info', { userId : by.user.id }) }}"> |
||||
<img class="border-radius-50 border-color-default vertical-align-middle" src="{{ by.user.identicon }}" alt="{{ 'identicon' | trans }}" /> |
||||
</a> |
||||
<div class="float-right"> |
||||
{{ added | format_ago }} |
||||
</div> |
@ -0,0 +1,12 @@
@@ -0,0 +1,12 @@
|
||||
<a href="{{ path('user_info', { userId : by.user.id }) }}"> |
||||
<img class="border-radius-50 border-color-default vertical-align-middle" src="{{ by.user.identicon }}" alt="{{ 'identicon' | trans }}" /> |
||||
</a> |
||||
<span class="margin-x-4-px"> |
||||
{{ 'enable user' | trans }} |
||||
</span> |
||||
<a href="{{ path('user_info', { userId : user.id }) }}"> |
||||
<img class="border-radius-50 border-color-default vertical-align-middle" src="{{ user.identicon }}" alt="{{ 'identicon' | trans }}" /> |
||||
</a> |
||||
<div class="float-right"> |
||||
{{ added | format_ago }} |
||||
</div> |
@ -0,0 +1,12 @@
@@ -0,0 +1,12 @@
|
||||
<a href="{{ path('user_info', { userId : by.user.id }) }}"> |
||||
<img class="border-radius-50 border-color-default vertical-align-middle" src="{{ by.user.identicon }}" alt="{{ 'identicon' | trans }}" /> |
||||
</a> |
||||
<span class="margin-x-4-px"> |
||||
{{ 'diable user' | trans }} |
||||
</span> |
||||
<a href="{{ path('user_info', { userId : user.id }) }}"> |
||||
<img class="border-radius-50 border-color-default vertical-align-middle" src="{{ user.identicon }}" alt="{{ 'identicon' | trans }}" /> |
||||
</a> |
||||
<div class="float-right"> |
||||
{{ added | format_ago }} |
||||
</div> |
@ -1,23 +1,12 @@
@@ -1,23 +1,12 @@
|
||||
{% extends 'default/layout.html.twig' %} |
||||
{% block title %}{{ 'Last activity'|trans }} - {{ name }}{% endblock %} |
||||
{% block title %}{{ 'Activity' | trans }} - {{ name }}{% endblock %} |
||||
{% block main_content %} |
||||
{% for activity in activities %} |
||||
<div class="padding-16-px margin-y-8-px border-radius-3-px background-color-night"> |
||||
<div class="row"> |
||||
<div class="column width-80"> |
||||
<a href="{{ path('user_info', { userId : activity.user.id }) }}"> |
||||
<img class="vertical-align-middle border-radius-50 border-color-default border-width-2-px margin-r-8-px" |
||||
src="{{ activity.user.identicon }}" |
||||
alt="{{ 'identicon'|trans }}" /> |
||||
</a> |
||||
{% if activity.type == 'join' %} |
||||
{{ 'joined'|trans }} {{ name }} |
||||
{% endif %} |
||||
</div> |
||||
<div class="column width-20 text-right padding-y-4-px"> |
||||
{{ activity.added }} |
||||
</div> |
||||
</div> |
||||
{{ render(controller( |
||||
'App\\Controller\\ActivityController::template', |
||||
{ activity : activity } |
||||
)) }} |
||||
</div> |
||||
{% endfor %} |
||||
{% endblock %} |
Loading…
Reference in new issue