BioTorrents.de’s version of Gazelle
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

header.twig 9.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. {% from 'macro/paranoia.twig' import class_override, override %}
  2. {% set user_id = user.id %}
  3. {% set viewer_id = viewer.id %}
  4. {% set own_profile = user_id == viewer_id %}
  5. <div class="thin">
  6. <div class="header">
  7. <h2>{{ user.username }}
  8. {%- if user.isDonor and (own_profile or user.donorVisible or viewer.permitted('users_override_paranoia')) -%}
  9. &nbsp;{{ user.donorHeart|raw -}}
  10. {%- endif -%}
  11. {%- if user.isWarned -%}
  12. &nbsp;<a href="wiki.php?action=article&amp;name=warnings"><img src="{{
  13. constant('STATIC_SERVER') }}/common/symbols/warned.png" alt="Warned" title="Warned
  14. {%- if own_profile or viewer.permitted('users_mod') %} – Expires {{ user.warningExpiry }}{% endif %}" class="tooltip" /></a>
  15. {%- endif -%}
  16. {%- if user.isDisabled -%}
  17. &nbsp;<a href="rules.php"><img src="{{ constant('STATIC_SERVER') }}/common/symbols/disabled.png" alt="Banished" title="Naughty person" class="tooltip" /></a>
  18. {%- endif -%}
  19. {% for badge, name in user.secondaryBadges %}
  20. <span class="tooltip secondary_class" title="{{ name }}">{{ badge }}</span>
  21. {% endfor %}
  22. {% if user.title -%}
  23. <span class="user_title">{{ user.title|raw }}</span></h2>
  24. {%- endif %}
  25. </div>
  26. <div class="linkbox">
  27. {% if not own_profile %}
  28. <a href="inbox.php?action=compose&amp;toid={{ user_id }}" class="brackets" title="Send a private message">Send PM</a>
  29. {% if not user.isFriend(viewer_id) %}
  30. <a href="friends.php?action=add&amp;friendid={{ user_id }}&amp;auth={{ auth }}" class="brackets">Add to friends</a>
  31. {% endif %}
  32. <a href="reports.php?action=report&amp;type=user&amp;id={{ user_id }}" class="brackets">Report user</a>
  33. {% endif %}
  34. {% if own_profile or viewer.permitted('users_edit_profiles') %}
  35. <a href="user.php?action=edit&amp;userid={{ user_id }}" class="brackets">Edit</a>
  36. {% endif %}
  37. {% if viewer.permitted('users_view_invites') %}
  38. <a href="user.php?action=invite&amp;userid={{ user_id }}" class="brackets">Invites</a>
  39. {% endif %}
  40. {% if viewer.permitted('admin_reports') %}
  41. <a href="reportsv2.php?view=reporter&amp;id={{ user_id }}" class="brackets">Reports</a>
  42. {% endif %}
  43. {% if viewer.permitted('users_mod') %}
  44. <a href="userhistory.php?action=token_history&amp;userid={{ user_id }}" class="brackets">FL tokens</a>
  45. {% endif %}
  46. {% if viewer.permitted('users_mod') or (own_profile and viewer.permitted('site_user_stats')) %}
  47. <a href="user.php?action=stats&amp;userid={{ user_id }}" class="brackets">Stats</a>
  48. {% endif %}
  49. {% if user.hasAttr('feature-seedbox') and (own_profile or viewer.permitted('users_view_ips')) %}
  50. <a href="user.php?action=seedbox{% if viewer.permitted('users_view_ips') %}&amp;userid={{ user_id }}{% endif %}" class="brackets">Seedboxes</a>
  51. {% endif %}
  52. {% if viewer.permitted('users_view_ips') %}
  53. <a href="user.php?action=sessions&amp;userid={{ user_id }}" class="brackets">Sessions</a>
  54. <a href="tools.php?action=user_info&amp;userid={{ user_id }}" class="brackets">Email/IP info</a>
  55. {% endif %}
  56. {% if viewer.permitted('admin_clear_cache') and viewer.permitted('users_override_paranoia') %}
  57. <a href="user.php?action=clearcache&amp;id={{ user_id }}" class="brackets">Clear cache</a>
  58. {% endif %}
  59. {% if viewer.permitted('admin_manage_permissions') %}
  60. <a href="user.php?action=permissions&amp;userid={{ user_id }}" class="brackets">Permissions</a>
  61. {% endif %}
  62. {% if viewer.permitted('users_mod') %}
  63. <a href="#staff_tools" class="brackets">Staff tools</a>
  64. {% endif %}
  65. </div>
  66. <div class="sidebar">
  67. {% if viewer.showAvatars %}
  68. <div class="box box_image box_image_avatar">
  69. <div class="head colhead_dark">Avatar</div>
  70. <div align="center">
  71. {{ userMan.avatarMarkup(viewer, user)|raw }}
  72. </div>
  73. </div>
  74. {% endif %}
  75. {% if user.isEnabled and user.hasAcceptFL and (freeleech.item or freeleech.other) %}
  76. <div class="box box_info box_userinfo_give_FL">
  77. {% if freeleech.other %}
  78. <div class="head colhead_dark">Freeleech Tokens Given</div>
  79. <ul class="stats nobullet">
  80. {% if freeleech.other > 0 %}
  81. <li>You gave {{ freeleech.other }} token{{ freeleech.other|plural }} to {{ user.username }}. Your generosity is most appreciated!</li>
  82. {% else %}
  83. <li>You attempted to give some tokens to {{ user.username }} but something didn't work out.
  84. No points were spent.</li>
  85. {% endif %}
  86. </ul>
  87. {% else %}
  88. <div class="head colhead_dark">Give Freeleech Tokens</div>
  89. <form class="fl_form" name="user" id="fl_form" action="user.php?id={{ user_id }}" method="post">
  90. <ul class="stats nobullet">
  91. {% for f in freeleech.item %}
  92. <li><input type="radio" name="fltype" id="fl-{{ f.Label }}" value="fl-{{ f.Label }}" />
  93. <label title="This costs {{ f.Price|number_format }} BP, which will leave you with {{ f.After|number_format
  94. }} afterwards" for="fl-{{ f.Label }}"> {{ f.Name }}</label></li>
  95. {% endfor %}
  96. <li><input type="submit" name="flsubmit" value="Send" /></li>
  97. </ul>
  98. <input type="hidden" name="action" value="fltoken" />
  99. <input type="hidden" name="auth" value="{{ auth }}" />
  100. </form>
  101. {% endif %}
  102. </div>
  103. {% endif %}
  104. <div class="box box_info box_userinfo_stats">
  105. <div class="head colhead_dark">Statistics</div>
  106. <ul class="stats nobullet">
  107. <li>Joined: {{ user.joinDate|time_diff }}</li>
  108. {% set visible = user.propertyVisible(preview_user, 'lastseen') %}
  109. {% if visible %}
  110. <li{{ class_override(visible) }}>Last seen: {{ user.lastAccess|time_diff }}</li>
  111. {% endif %}
  112. {% set stats = user.activityStats %}
  113. {% set visible = user.propertyVisible(preview_user, 'uploaded') %}
  114. {% if visible %}
  115. <li class="tooltip{{ override(visible) }}" title="{{ stats.BytesUploaded|octet_size(5) }}">Uploaded: {{ stats.BytesUploaded|octet_size }}</li>
  116. {% endif %}
  117. {% set visible = user.propertyVisible(preview_user, 'downloaded') %}
  118. {% if visible %}
  119. <li class="tooltip{{ override(visible) }}" title="{{ stats.BytesDownloaded|octet_size(5) }}">Downloaded: {{ stats.BytesDownloaded|octet_size }}</li>
  120. {% endif %}
  121. {% set visible = min(user.propertyVisible(preview_user, 'downloaded'), user.propertyVisible(preview_user, 'uploaded')) %}
  122. {% if visible %}
  123. {% set buffer = user.buffer[1] %}
  124. <li class="tooltip{{ override(visible) }}" title="{{ buffer|octet_size(5) }}">Buffer: {{ buffer|octet_size }}</li>
  125. {% endif %}
  126. {% set visible = user.propertyVisible(preview_user, 'ratio') %}
  127. {% if visible %}
  128. <li{{ class_override(visible) }}>Ratio: {{ ratio(stats.BytesUploaded, stats.BytesDownloaded) }} </li>
  129. {% endif %}
  130. {% if own_profile or viewer.permitted('users_mod') %}
  131. {% if recovered %}
  132. <li class="tooltip" title="Recovered from previous site: {{ recovered|octet_size(5) }}">Recovered: {{ recovered|octet_size }}</li>
  133. {% elseif viewer.permitted('users_mod') %}
  134. <li class="tooltip paranoia_override">Recovered: no record</li>
  135. {% endif %}
  136. {% endif %}
  137. {% set visible = user.propertyVisible(preview_user, 'requiredratio') %}
  138. {% if visible %}
  139. {% set required = user.buffer[0] %}
  140. <li{{ class_override(visible) }}>Required Ratio: <span class="tooltip" title="{{ stats.RequiredRatio|number_format(5) }}">{{ stats.RequiredRatio|number_format(2) }}</span></li>
  141. <li{{ class_override(visible) }}>Required Class Ratio: <span class="tooltip" title="{{ required|number_format(5) }}">{{ required|number_format(2) }}</span></li>
  142. {% endif %}
  143. {% set visible = user.propertyVisible(preview_user, 'requiredratio') %}
  144. {% if visible %}
  145. {% set size = user.seedingSize %}
  146. <li class="tooltip{{ override(visible) }}" title="{{ size|number_format }}">Seeding Size: {{ size|octet_size }}</li>
  147. {% endif %}
  148. {% set visible = user.propertyVisible(preview_user, 'bonuspoints') %}
  149. {% if visible %}
  150. {% if viewer.permitted('admin_bp_history') %}
  151. <li{{ class_override(visible) }}>Bonus Points: {{ stats.BonusPoints|number_format }}
  152. <a href="bonus.php?action=history&amp;userid={{ user_id }}" class="brackets">History</a></li>
  153. <li{{ class_override(visible) }}><a href="bonus.php?action=bprates&amp;userid={{ user_id }}">Points Per Hour</a>: {{ hourly_rate|number_format(2) }}
  154. {% elseif own_profile %}
  155. <li{{ class_override(visible) }}>Bonus Points: {{ stats.BonusPoints|number_format }}
  156. <a href="bonus.php?action=history&amp" class="brackets">History</a></li>
  157. <li{{ class_override(visible) }}><a href="bonus.php?action=bprates">Points Per Hour</a>: {{ hourly_rate|number_format(2) }}
  158. {% else %}
  159. <li{{ class_override(visible) }}>Bonus Points: {{ stats.BonusPoints|number_format }}</li>
  160. <li{{ class_override(visible) }}>Points Per Hour: {{ hourly_rate|number_format(2) }}
  161. {% endif %}
  162. {% endif %}
  163. {% if own_profile or viewer.permitted('users_mod') %}
  164. <li{{ class_override(viewer.permitted('users_mod') ? constant('PARANOIA_OVERRIDDEN') : constant('PARANOIA_ALLOWED'))
  165. }}><a href="userhistory.php?action=token_history&amp;userid={{ user_id }}">Tokens</a>: {{ user.tokenCount|number_format }}</li>
  166. {% endif %}
  167. {% if user.isWarned and (own_profile or viewer.permitted('users_mod')) %}
  168. <li{{ class_override(viewer.permitted('users_mod') ? constant('PARANOIA_OVERRIDDEN') : constant('PARANOIA_ALLOWED'))
  169. }}>Warning expires in: {{ user.warningExpiry|time_diff }}</li>
  170. {% endif %}
  171. </ul>
  172. </div>