Issues (1369)

classes/Pm/PlayerIgnore.php (7 issues)

1
<?php
2
/** @noinspection PhpDeprecationInspection */
3
/** @noinspection SqlResolve */
4
5
/**
6
 * Created by Gorlum 14.08.2019 1:37
7
 */
8
9
namespace Pm;
10
11
use Core\GlobalContainer;
12
use HelperString;
13
14
class PlayerIgnore {
15
  const IGNORE_PM = 1;
16
17
  /**
18
   * @var bool[][][] $ignores [$playerId][$ignoredId][$subsystem] = {false|true}
19
   */
20
  protected $ignores = [];
21
22
  public function __construct(GlobalContainer $gc) {
0 ignored issues
show
The parameter $gc is not used and could be removed. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-unused  annotation

22
  public function __construct(/** @scrutinizer ignore-unused */ GlobalContainer $gc) {

This check looks for parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
23
  }
24
25
  public function ignore($playerId, $ignoredId, $subsystem = self::IGNORE_PM) {
26
    if (!$this->isIgnored($playerId, $ignoredId, $subsystem)) {
27
      doquery("REPLACE INTO `{{player_ignore}}` SET `player_id` = {$playerId}, `ignored_id` = {$ignoredId}, `subsystem` = {$subsystem}");
0 ignored issues
show
Deprecated Code introduced by
The function doquery() has been deprecated. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-deprecated  annotation

27
      /** @scrutinizer ignore-deprecated */ doquery("REPLACE INTO `{{player_ignore}}` SET `player_id` = {$playerId}, `ignored_id` = {$ignoredId}, `subsystem` = {$subsystem}");
Loading history...
28
29
      $this->ignores[$playerId][$ignoredId][$subsystem] = true;
30
    }
31
  }
32
33
  public function unIgnore($playerId, $ignoredId, $subsystem = self::IGNORE_PM) {
34
    if ($this->isIgnored($playerId, $ignoredId, $subsystem)) {
35
      doquery("DELETE FROM `{{player_ignore}}` WHERE `player_id` = {$playerId} AND `ignored_id` = {$ignoredId} AND `subsystem` = {$subsystem}");
0 ignored issues
show
Deprecated Code introduced by
The function doquery() has been deprecated. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-deprecated  annotation

35
      /** @scrutinizer ignore-deprecated */ doquery("DELETE FROM `{{player_ignore}}` WHERE `player_id` = {$playerId} AND `ignored_id` = {$ignoredId} AND `subsystem` = {$subsystem}");
Loading history...
36
37
      $this->ignores[$playerId][$ignoredId][$subsystem] = false;
38
    }
39
  }
40
41
  public function isIgnored($playerId, $ignoredId, $subsystem = self::IGNORE_PM) {
42
    if (!isset($this->ignores[$playerId][$ignoredId][$subsystem])) {
43
      $ignored = doquery("SELECT * FROM `{{player_ignore}}` WHERE `player_id` = {$playerId} AND `ignored_id` = {$ignoredId} AND `subsystem` = {$subsystem}", true);
0 ignored issues
show
Deprecated Code introduced by
The function doquery() has been deprecated. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-deprecated  annotation

43
      $ignored = /** @scrutinizer ignore-deprecated */ doquery("SELECT * FROM `{{player_ignore}}` WHERE `player_id` = {$playerId} AND `ignored_id` = {$ignoredId} AND `subsystem` = {$subsystem}", true);
Loading history...
true of type true is incompatible with the type string expected by parameter $table of doquery(). ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

43
      $ignored = doquery("SELECT * FROM `{{player_ignore}}` WHERE `player_id` = {$playerId} AND `ignored_id` = {$ignoredId} AND `subsystem` = {$subsystem}", /** @scrutinizer ignore-type */ true);
Loading history...
44
45
      $this->ignores[$playerId][$ignoredId][$subsystem] = !empty($ignored);
46
    }
47
48
    return $this->ignores[$playerId][$ignoredId][$subsystem];
49
  }
50
51
  public function getIgnores($playerId, $htmlEncode = true) {
52
    $result = [];
53
54
    $ignores = doquery(
0 ignored issues
show
Deprecated Code introduced by
The function doquery() has been deprecated. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-deprecated  annotation

54
    $ignores = /** @scrutinizer ignore-deprecated */ doquery(
Loading history...
55
      "SELECT pi.*, u.username
56
        FROM `{{player_ignore}}` AS pi
57
            LEFT JOIN `{{users}}` AS u ON u.id = pi.ignored_id
58
        WHERE `player_id` = {$playerId} 
59
        ORDER BY `player_id`, `ignored_id`,`subsystem`"
60
    );
61
    while ($row = db_fetch($ignores)) {
0 ignored issues
show
Deprecated Code introduced by
The function db_fetch() has been deprecated. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-deprecated  annotation

61
    while ($row = /** @scrutinizer ignore-deprecated */ db_fetch($ignores)) {
Loading history...
62
      $name = $htmlEncode ? HelperString::htmlEncode($row['username']) : $row['username'];
63
64
      $result[] = [
65
        'ID'   => $row['ignored_id'],
66
        'NAME' => $name,
67
      ];
68
    }
69
70
    return $result;
71
  }
72
73
}
74