Update PM
For the case when usernames will only consist of numbers.
This commit is contained in:
parent
ab2ad0cfbe
commit
0407139360
3 changed files with 32 additions and 17 deletions
|
@ -224,7 +224,7 @@ class Model extends ParentModel
|
|||
/**
|
||||
* Инициализирует массивы индексов приватных тем текущего пользователя
|
||||
* Инициализирует число приватных тем без фильтра
|
||||
* Может использовать фильтр по второму пользователю: id или username
|
||||
* Может использовать фильтр по второму пользователю: id или "username" (именно в кавычках)
|
||||
*/
|
||||
public function init(/* null|int|string */ $second = null): self
|
||||
{
|
||||
|
@ -293,7 +293,7 @@ class Model extends ParentModel
|
|||
if (
|
||||
null === $second
|
||||
|| $row['target_id'] === $second
|
||||
|| $row['target'] === $second
|
||||
|| '"' . $row['target'] . '"' === $second
|
||||
) {
|
||||
$idsArc[$id] = $lp;
|
||||
}
|
||||
|
@ -305,7 +305,7 @@ class Model extends ParentModel
|
|||
if (
|
||||
null === $second
|
||||
|| $row['target_id'] === $second
|
||||
|| $row['target'] === $second
|
||||
|| '"' . $row['target'] . '"' === $second
|
||||
) {
|
||||
if ($lp > $row['poster_visit']) {
|
||||
$idsNew[$id] = $lp;
|
||||
|
@ -328,7 +328,7 @@ class Model extends ParentModel
|
|||
if (
|
||||
null === $second
|
||||
|| $row['poster_id'] === $second
|
||||
|| $row['poster'] === $second
|
||||
|| '"' . $row['poster'] . '"' === $second
|
||||
) {
|
||||
$idsArc[$id] = $lp;
|
||||
}
|
||||
|
@ -340,7 +340,7 @@ class Model extends ParentModel
|
|||
if (
|
||||
null === $second
|
||||
|| $row['poster_id'] === $second
|
||||
|| $row['poster'] === $second
|
||||
|| '"' . $row['poster'] . '"' === $second
|
||||
) {
|
||||
if ($lp > $row['target_visit']) {
|
||||
$idsNew[$id] = $lp;
|
||||
|
|
|
@ -24,10 +24,20 @@ class PM extends Page
|
|||
$second = null;
|
||||
|
||||
if (isset($args['second'])) {
|
||||
if ('' === \trim($args['second'], '1234567890')) {
|
||||
$second = (int) $args['second'];
|
||||
} else {
|
||||
$second = $args['second'];
|
||||
$second = $args['second'];
|
||||
|
||||
if ('' === \trim($second, '1234567890')) {
|
||||
$second = (int) $second;
|
||||
|
||||
if ($second < 2) { // ???? вынести все в роутер?
|
||||
return $this->c->Message->message('Bad request');
|
||||
}
|
||||
} elseif (
|
||||
\strlen($second) < 3
|
||||
&& '"' !== $second[0]
|
||||
&& '"' !== $second[-1]
|
||||
) {
|
||||
return $this->c->Message->message('Bad request');
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -147,14 +147,17 @@ abstract class AbstractPM extends Page
|
|||
|
||||
if ($viewArea) {
|
||||
if (null !== $pms->second) {
|
||||
if (
|
||||
\is_int($pms->second)
|
||||
&& ($user = $this->c->users->load($pms->second)) instanceof User
|
||||
&& ! $user->isGuest
|
||||
) {
|
||||
$name = $user->username;
|
||||
if (\is_int($pms->second)) {
|
||||
if (
|
||||
($user = $this->c->users->load($pms->second)) instanceof User
|
||||
&& ! $user->isGuest
|
||||
) {
|
||||
$name = $user->username;
|
||||
} else {
|
||||
$name = 'unknown'; // ????
|
||||
}
|
||||
} else {
|
||||
$name = $pms->second;
|
||||
$name = \substr($pms->second, 1, -1);
|
||||
}
|
||||
|
||||
switch ($pms->area) {
|
||||
|
@ -168,7 +171,9 @@ abstract class AbstractPM extends Page
|
|||
$this->c->Router->link(
|
||||
'PMAction',
|
||||
[
|
||||
'second' => $this->targetUser->id,
|
||||
'second' => $this->targetUser->isGuest
|
||||
? '"' . $this->targetUser->username . '"'
|
||||
: $this->targetUser->id,
|
||||
'action' => $pms->area,
|
||||
]
|
||||
),
|
||||
|
|
Loading…
Add table
Reference in a new issue