Make url_construct a function instead of a filter.

This commit is contained in:
flash 2018-12-01 12:57:23 +01:00
parent 486e5c9e77
commit b9c8a967fa
10 changed files with 18 additions and 18 deletions

View file

@ -15,7 +15,6 @@ final class TwigMisuzu extends Twig_Extension
new Twig_Filter('first_paragraph', 'first_paragraph'),
new Twig_Filter('byte_symbol', 'byte_symbol'),
new Twig_Filter('html_link', 'html_link'),
new Twig_Filter('url_construct', 'url_construct'),
new Twig_Filter('parse_line', 'parse_line'),
new Twig_Filter('parse_text', 'parse_text'),
new Twig_Filter('asset_url', 'asset_url'),
@ -35,6 +34,7 @@ final class TwigMisuzu extends Twig_Extension
new Twig_Function('csrf_token', 'csrf_token'),
new Twig_Function('csrf_input', 'csrf_html'),
new Twig_Function('sql_query_count', 'db_query_count'),
new Twig_Function('url_construct', 'url_construct'),
new Twig_Function('startup_time', function (float $time = MSZ_STARTUP) {
return microtime(true) - $time;
}),

View file

@ -9,7 +9,7 @@
{% if is_valid %}
{%
set canonical_url = '/changelog.php'|url_construct({
set canonical_url = url_construct('/changelog.php', {
'd': changelog_date,
'u': changelog_user ? changelog_user : '',
'o': changelog_offset
@ -30,7 +30,7 @@
{% if not is_date %}
<div class="changelog__pagination">
{{ pagination(changelog_count, changelog_take, changelog_offset, '/changelog.php'|url_construct({
{{ pagination(changelog_count, changelog_take, changelog_offset, url_construct('/changelog.php', {
'd': changelog_date,
'u': changelog_user ? changelog_user : ''
})) }}

View file

@ -2,7 +2,7 @@
{% from 'forum/macros.twig' import forum_category_listing, forum_topic_listing, forum_category_buttons, forum_header, forum_category_tools %}
{% set title = forum_info.forum_name %}
{% set canonical_url = '/forum/forum.php'|url_construct({
{% set canonical_url = url_construct('/forum/forum.php', {
'f': forum_info.forum_id,
'o': forum_offset,
}) %}

View file

@ -51,7 +51,7 @@
<div class="container forum__actions">
<div class="forum__actions__buttons">
{% if perms|perms_check(constant('MSZ_FORUM_PERM_CREATE_TOPIC')) %}
<a href="{{ '/forum/posting.php'|url_construct({'f':info.forum_id}) }}" class="input__button">New Topic</a>
<a href="{{ url_construct('/forum/posting.php', {'f':info.forum_id}) }}" class="input__button">New Topic</a>
{% endif %}
</div>
@ -60,7 +60,7 @@
info.forum_topic_count,
take,
offset,
'/forum/forum.php'|url_construct({'f':info.forum_id}),
url_construct('/forum/forum.php', {'f':info.forum_id}),
false,
null,
5
@ -84,7 +84,7 @@
info.topic_post_count,
take,
offset,
'/forum/topic.php'|url_construct({'t':info.topic_id}),
url_construct('/forum/topic.php', {'t':info.topic_id}),
false,
null,
5

View file

@ -12,7 +12,7 @@
%}
{% set title = topic_info.topic_title %}
{% set canonical_url = '/forum/topic.php'|url_construct({
{% set canonical_url = url_construct('/forum/topic.php', {
't': topic_info.topic_id,
'o': topic_offset,
}) %}

View file

@ -3,8 +3,8 @@
{% from 'news/macros.twig' import news_preview %}
{% set title = category.category_name ~ ' :: News' %}
{% set manage_link = '/manage/news.php?v=category&c=' ~ category.category_id %}
{% set canonical_url = '/news.php'|url_construct({
{% set manage_link = url_construct('/manage/news.php', {'v':'category','c':category.category_id}) %}
{% set canonical_url = url_construct('/news.php', {
'c': category.category_id,
'o': posts_offset,
}) %}
@ -17,7 +17,7 @@
{% endfor %}
<div class="container" style="padding: 5px;">
{{ pagination(category.posts_count, posts_take, posts_offset, '/news.php'|url_construct({'c':category.category_id}), true) }}
{{ pagination(category.posts_count, posts_take, posts_offset, url_construct('/news.php', {'c':category.category_id}), true) }}
</div>
</div>

View file

@ -3,7 +3,7 @@
{% from 'news/macros.twig' import news_preview %}
{% set title = 'News' %}
{% set canonical_url = '/news.php'|url_construct({'o':posts_offset}) %}
{% set canonical_url = url_construct('/news.php', {'o':posts_offset}) %}
{% set manage_link = '/manage/news.php?v=index' %}
{% block content %}

View file

@ -3,14 +3,14 @@
{% from '_layout/input.twig' import input_select %}
{% from 'user/macros.twig' import user_card %}
{% set canonical_url = '/members.php'|url_construct({
{% set canonical_url = url_construct('/members.php', {
'r': role.role_id != 1 ? role.role_id : 0,
'ss': order_field == order_default ? '' : order_field,
'sd': order_fields[order_field]['default-dir'] == order_direction ? '' : order_direction,
'o': users_offset,
't': users_take == 15 ? 0 : users_take,
}) %}
{% set full_url = '/members.php'|url_construct({
{% set full_url = url_construct('/members.php', {
'r': role.role_id != 1 ? role.role_id : 0,
'ss': order_field == order_default ? '' : order_field,
'sd': order_fields[order_field]['default-dir'] == order_direction ? '' : order_direction,

View file

@ -158,7 +158,7 @@
sessions.amount,
sessions.take,
sessions.offset,
''|url_construct({
url_construct('', {
'logins[offset]': logins.offset,
'logins[take]': logins.take == 15 ? 0 : logins.take,
'logs[offset]': logs.offset,
@ -205,7 +205,7 @@
logins.amount,
logins.take,
logins.offset,
''|url_construct({
url_construct('', {
'logins[take]': logins.take == 15 ? 0 : logins.take,
'logs[offset]': logs.offset,
'logs[take]': logs.take == 15 ? 0 : logs.take,
@ -241,7 +241,7 @@
logs.amount,
logs.take,
logs.offset,
''|url_construct({
url_construct('', {
'logins[offset]': logins.offset,
'logins[take]': logins.take == 15 ? 0 : logins.take,
'logs[take]': logs.take == 15 ? 0 : logs.take,

View file

@ -330,7 +330,7 @@ function url_construct(string $path, array $query = [], string $host = ''): stri
foreach ($query as $key => $value) {
if ($value) {
$url .= urlencode($key) . '=' . urlencode($value) . '&';
$url .= rawurlencode($key) . '=' . rawurlencode($value) . '&';
}
}
}