Как сделать класс модера php

90
11 апреля 2021, 16:10

Заказал сайт, в нем есть файл класса админ, я не профи и не знаю как сделать класс модера. Решил просто вырезать некоторые функции админа, вот вам и модер. Но вот не могу найти проверку на админа. В самой бд чтоб сделать юзера админом надо добавить в базу данных 1 вместо 0 в поле "admin". Яб хотел чтоб допустим на 2 был модер, вместо админа. Вот вроде строки отвечающий за запуск и проверку, как указано в комментариях.

class Admin{
  /**
   * Authorized actions
   * @since 1.0
   **/
  protected $actions = array("ads","users","media","blog","pages","settings","themes","editor","languages","search","server", "categories","stats","activities", "tools", "comments", "reports","menu");
  /**
   * Config + DB
   * @since 1.0
   **/
  protected $config;
  protected $db;  
  /**
   * Admin Info + URL
   * @since 1.0
   **/
  protected $user;
  protected $url;  
  /**
   * Reserved Variable
   * @since 1.0
   **/
  protected $page;  
  protected $action;  
  protected $do;
  protected $id;
  /**
   * Admin Limit/Page
   * @since 1.0
   **/
  protected $limit=24;
  /**
   * Valid Media types
   * @since 1.0
   **/
  protected $formats = NULL;
  /**
   * Construct Admin
   * @since 1.0
   **/
  public function __construct($config,$db){
    $this->config=$config;
    $this->db=$db;     
    $this->url="{$this->config["url"]}/admin";
    $this->page=(isset($_GET["page"]) && is_numeric($_GET["page"]) && $_GET["page"]!="0") ? Main::clean($_GET["page"],3,TRUE):"1";  
    $this->check();
  }
  /**
   * Free Memory (don't need it but do it anyway)
   * @since 1.0
   **/
  public function __destruct(){
    unset($this->db, $this->user, $this->config);
  }
  /**
   * Check if user is logged and has admin privileges!
   * @since 1.0
   **/
  public function check(){
    if($info=Main::user()){
      if($user=$this->db->get("user",array("id"=>"?","auth_key"=>"?"),array("limit"=>1),array($info[0],$info[1]))){               
        if(!$user->admin) return Main::redirect("404");
        $this->logged=TRUE;
        $this->user=$user;     
        $user=NULL;        
        // Unset sensitive information
        unset($this->user->password);
        unset($this->user->auth_key);          
        return TRUE;
      }
    }
   return Main::redirect("404");
  }  
  /**
   * Run Admin Panel
   * @since 1.0
   **/
  public function run(){
    if(isset($_GET["a"]) && !empty($_GET["a"])){
      $var=explode("/",$_GET["a"]);
      if(in_array($var[0],$this->actions) && method_exists("Admin", $var[0])){
        $this->action=Main::clean($var[0],3,TRUE);
        if(isset($var[1]) && !empty($var[1])) $this->do=Main::clean($var[1],3,TRUE);
        if(isset($var[2]) && !empty($var[2])) $this->id=Main::clean($var[2],3,TRUE);
        return $this->{$var[0]}();
      } 
      return Main::redirect("admin",array("danger","Oups! The page you are looking for doesn't exist."));
    }else{
      return $this->home();
    }
  }  

Объясните как мне сделать модера, и где здесь проверка.

READ ALSO
Входит ли дата во временной интервал?

Входит ли дата во временной интервал?

Имеется дата 2019-07-01 16:22:01

78
Ограничить вывод внутренних ссылок из файла

Ограничить вывод внутренних ссылок из файла

Есть вот такой небольшой код на странице новости:

97
Можно ли как-то указать путь на внешнюю библиотеку, которую я хочу использовать в проекте?

Можно ли как-то указать путь на внешнюю библиотеку, которую я хочу использовать в проекте?

Есть возможность добавить зависимость или библиотеку в структуру проекта указавши к ней путь или добавить как модуль

90