+
{!! __('Password reset') !!}
diff --git a/app/templates/register.tpl b/app/templates/register.tpl
new file mode 100644
index 00000000..0b35eb92
--- /dev/null
+++ b/app/templates/register.tpl
@@ -0,0 +1,29 @@
+@extends('layouts/main')
+
+
+
{!! __('Register') !!}
+
+
+
diff --git a/app/templates/rules.tpl b/app/templates/rules.tpl
index 3f0d0010..a4841331 100644
--- a/app/templates/rules.tpl
+++ b/app/templates/rules.tpl
@@ -1,5 +1,18 @@
@extends('layouts/main')
- {!! __('Forum rules') !!}
- {!! $Rules !!}
+ {!! $title !!}
+ {!! $rules !!}
+@if($formAction)
+
+@endif
diff --git a/composer.json b/composer.json
index 63fae827..eecb01e5 100644
--- a/composer.json
+++ b/composer.json
@@ -11,6 +11,11 @@
"homepage": "https://github.com/MioVisman"
}
],
+ "autoload": {
+ "psr-4": {
+ "ForkBB\\": "app/"
+ }
+ },
"require": {
"php": ">=5.6.0",
"artoodetoo/dirk": "dev-master"
diff --git a/composer.lock b/composer.lock
index 8567545c..5f7dc7f3 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,8 +4,8 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
- "hash": "6c899de021c8c6537d723a4f7d26f06d",
- "content-hash": "b734e8bdbede86eb0dbd047bb31d3a03",
+ "hash": "ad22a23d7b225fa300553d8d0dcdaeb9",
+ "content-hash": "2eea8744cdbc34c8408e6d137176a8df",
"packages": [
{
"name": "artoodetoo/dirk",
diff --git a/db_update.php b/db_update.php
index ce7e11e7..2f62599b 100644
--- a/db_update.php
+++ b/db_update.php
@@ -669,6 +669,7 @@ switch ($stage)
$db->alter_field('users', 'password', 'VARCHAR(255)', false, '') or error('Unable to alter password field', __FILE__, __LINE__, $db->error());
$db->add_field('user', 'u_mark_all_read', 'INT(10) UNSIGNED', true) or error('Unable to add u_mark_all_read field', __FILE__, __LINE__, $db->error());
+ $db->add_field('user', 'email_confirmed', 'TINYINT(1)', false, 0, 'email') or error('Unable to add email_confirmed field', __FILE__, __LINE__, $db->error());
$db->add_field('online', 'o_position', 'VARCHAR(100)', false, '') or error('Unable to add o_position field', __FILE__, __LINE__, $db->error());
$db->add_index('online', 'o_position_idx', array('o_position')) or error('Unable to add o_position_idx index', __FILE__, __LINE__, $db->error());
diff --git a/include/functions.php b/include/functions.php
index 42f923f9..e2f185f1 100644
--- a/include/functions.php
+++ b/include/functions.php
@@ -706,15 +706,11 @@ function delete_post($post_id, $topic_id)
function censor_words($text)
{
global $container;
- static $search_for, $replace_with;
- // If not already built in a previous call, build an array of censor words and their replacement text
- if (!isset($search_for)) {
- list($search_for, $replace_with) = $container->get('censoring');
- }
+ list($search_for, $replace_with) = $container->censoring;
if (!empty($search_for)) {
- $text = substr(ucp_preg_replace($search_for, $replace_with, ' '.$text.' '), 1, -1);
+ $text = preg_replace($search_for, $replace_with, $text);
}
return $text;
diff --git a/public/style/ForkBB/style.css b/public/style/ForkBB/style.css
index 48d354f8..0315da95 100644
--- a/public/style/ForkBB/style.css
+++ b/public/style/ForkBB/style.css
@@ -194,6 +194,10 @@ select {
content: ", ";
}
+.f-req:after {
+ content: " *";
+ color: red;
+}
/* Меню */
@@ -510,7 +514,7 @@ select {
padding: 0.625rem;
}
-.f-rules > div {
+#id-rules {
padding: 0.625rem;
border: 0.0625rem solid #AA7939;
background-color: #F8F4E3;
@@ -992,26 +996,27 @@ li + li .f-btn {
}
}
-/*********/
-/* Логин */
-/*********/
-.f-login .f-wdiv {
+/*********************/
+/* Логин/Регистрация */
+/*********************/
+.f-lrdiv {
margin: 1rem auto;
max-width: 20rem;
border: 0.0625rem solid #AA7939;
border-radius: 0.1875rem;
}
-.f-login h2 {
+.f-lrdiv h2 {
padding: 0.625rem;
text-align: center;
}
-.f-login .f-form {
+.f-lrdiv .f-form {
padding: 0.625rem;
}
-.f-login .f-form > input {
+.f-lrdiv .f-ctrl,
+.f-lrdiv .f-btn {
padding: 0.5rem;
font-size: 1rem;
display: block;
@@ -1020,7 +1025,10 @@ li + li .f-btn {
box-sizing: border-box;
}
-.f-login .f-form > label {
+.f-lrdiv .f-child1,
+.f-lrdiv .f-child2,
+.f-lrdiv .f-child3,
+.f-lrdiv .f-child4 {
display: block;
width: 100%;
}
@@ -1031,28 +1039,53 @@ li + li .f-btn {
font-weight: normal;
}
-.f-login .f-child1 {
+.f-lrdiv .f-child1 {
font-weight: bold;
}
-.f-login .f-child1:after {
- content: ":";
-}
-
-.f-login .f-child2 {
+.f-lrdiv .f-child2 {
font-size: 0.875rem;
}
-.f-login .f-child2 > input {
+.f-lrdiv .f-child2 > input {
margin: 0 0.625rem 0 0;
}
-.f-login .f-btn {
+.f-lrdiv .f-btn {
margin: 1rem 0 0.375rem 0;
}
-.f-login .f-child3 {
+.f-lrdiv .f-child3 {
padding: 0.625rem;
text-align: center;
font-size: 0.875rem;
}
+
+.f-lrdiv .f-child4 {
+ font-size: 0.8125rem;
+ text-align: justify;
+}
+
+.f-ctrl {
+ border: 0.0625rem solid #AA7939;
+}
+
+.f-ctrl:focus {
+ box-shadow: inset 0px 0px 0.25rem 0 rgba(170,121,57,0.5), 0px 0px 0.25rem 0 rgba(170,121,57,0.5);
+}
+
+.f-ctrl + .f-fhint {
+ overflow: hidden;
+ max-height: 0;
+ -webkit-transition: max-height 0.5s, margin 0.5s;
+ -webkit-transition-delay: 0.2s;
+ transition: max-height 0.5s, margin 0.5s;
+ transition-delay: 0.2s;
+}
+
+.f-ctrl:focus + .f-fhint,
+.f-ctrl:active + .f-fhint {
+ margin-top: -0.375rem;
+ margin-bottom: 1rem;
+ max-height: 1000rem;
+}
diff --git a/vendor/composer/autoload_psr4.php b/vendor/composer/autoload_psr4.php
index 1f32d29a..ccfc3dbd 100644
--- a/vendor/composer/autoload_psr4.php
+++ b/vendor/composer/autoload_psr4.php
@@ -7,4 +7,5 @@ $baseDir = dirname($vendorDir);
return array(
'R2\\Templating\\' => array($vendorDir . '/artoodetoo/dirk/src'),
+ 'ForkBB\\' => array($baseDir . '/app'),
);
diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php
index 1896d992..e108cb5f 100644
--- a/vendor/composer/autoload_static.php
+++ b/vendor/composer/autoload_static.php
@@ -11,6 +11,10 @@ class ComposerStaticInit90ad93c7251d4f60daa9e545879c49e7
array (
'R2\\Templating\\' => 14,
),
+ 'F' =>
+ array (
+ 'ForkBB\\' => 7,
+ ),
);
public static $prefixDirsPsr4 = array (
@@ -18,6 +22,10 @@ class ComposerStaticInit90ad93c7251d4f60daa9e545879c49e7
array (
0 => __DIR__ . '/..' . '/artoodetoo/dirk/src',
),
+ 'ForkBB\\' =>
+ array (
+ 0 => __DIR__ . '/../..' . '/app',
+ ),
);
public static function getInitializer(ClassLoader $loader)