<?php
// Pandora FMS- https://pandorafms.com
// ==================================================
// Copyright (c) 2005-2023 Pandora FMS
// Please see https://pandorafms.com/community/ for full contribution list
// This program is free software; you can redistribute it and/or
// modify it under the terms of the  GNU Lesser General Public License
// as published by the Free Software Foundation; version 2
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
global $config;

require_once $config['homedir'].'/include/class/Tree.class.php';

class TreeOS extends Tree
{


    public function __construct($type, $rootType='', $id=-1, $rootID=-1, $serverID=false, $childrenMethod='on_demand', $access='AR')
    {
        global $config;

        parent::__construct($type, $rootType, $id, $rootID, $serverID, $childrenMethod, $access);

        $this->L1fieldName = 'id_os';
        $this->L1fieldNameSql = 'ta.id_os';
        $this->L1extraFields = [
            'tco.name',
            'tco.id_os AS id',
            'tco.icon_name AS iconHTML',
        ];
        $this->L1inner = 'INNER JOIN tconfig_os tco ON tco.id_os = x2.g';
        $this->L1innerInside = 'INNER JOIN tagente_modulo tam 
                                    ON ta.id_agente = tam.id_agente';
        $this->L1orderByFinal = 'tco.name';

        $this->L2condition = 'AND ta.id_os = '.$this->rootID;
    }


    protected function getData()
    {
        if ($this->id == -1) {
            $this->getFirstLevel();
        } else if ($this->type == 'os') {
            $this->getSecondLevel();
        } else if ($this->type == 'agent') {
            $this->getThirdLevel();
        }
    }


}