Mobile Integration: * in footer.php js eingefügt damit das mobile Menu funktioniert * in menu.php bzw. app.css neue Klasse eingefügt mobile-hide um in der mobilen Version Menupünkte zu verstecken Pop Multiple Networks * Pops können nun mehrere Netzgebiete haben * Netzgebiete und Pop ansicht angepasst * (Script muss ausgeführt werden um die PopNetwork Table vom Bestand zu befüllen) DataTables responsible update * Datatables update und responsible addon * Diverse Anpassungen für Responsible in: - Pops, Geräte Hersteller, Geräte Typen, Devices, Benutzer Migrations * PopNetwork * Poprackmodulepatch
205 lines
10 KiB
PHP
205 lines
10 KiB
PHP
<?php
|
|
|
|
class PoprackModel
|
|
{
|
|
public $pop_id = null;
|
|
public $name = null;
|
|
public $he = null;
|
|
public $sort = null;
|
|
|
|
public $create_by = null;
|
|
public $edit_by = null;
|
|
public $create = null;
|
|
public $edit = null;
|
|
|
|
public static function create(array $data)
|
|
{
|
|
$model = new Poprack();
|
|
|
|
foreach ($data as $field => $value) {
|
|
if (property_exists(get_called_class(), $field)) {
|
|
if (substr($field, 0, 5) == "vlan_" && !$value) {
|
|
$model->$field = null;
|
|
continue;
|
|
}
|
|
$model->$field = $value;
|
|
}
|
|
}
|
|
|
|
$me = mfValuecache::singleton()->get("me");
|
|
if (!$me) {
|
|
$me = new User();
|
|
$me->loadMe();
|
|
mfValuecache::singleton()->set("me", $me);
|
|
}
|
|
|
|
if ($model->create_by === null) {
|
|
$model->create_by = $me->id;
|
|
}
|
|
if ($model->edit_by === null) {
|
|
$model->edit_by = $me->id;
|
|
}
|
|
|
|
return $model;
|
|
}
|
|
|
|
public static function getAllbyPop($pop_id)
|
|
{
|
|
$items = [];
|
|
|
|
$db = FronkDB::singleton();
|
|
$sql = "(SELECT `Poprackmodule`.`type`,`Poprack`.`id`,`Poprack`.`sort`, `Poprack`.`name`, `Poprack`.`he`,`Poprackmodule`.start_he,`Poprackmodule`.end_he,`Poprackmodule`.`name` as `modulname`,device_id ,`Poprackmodule`.`id` as moduleid,`Poprackmodule`.`width` as modulewidth,`Poprackmodule`.`position` as moduleposition,`Poprackmodule`.`ports` as moduleports,`Poprackmodule`.`plug` as moduleplug FROM `Poprack`
|
|
LEFT JOIN `Poprackmodule` ON (`Poprackmodule`.`poprack_id`=`Poprack`.`id` AND `Poprackmodule`.`type`!=1)
|
|
WHERE `Poprack`.`pop_id`='" . $pop_id . "' ORDER by `Poprack`.`sort`,`Poprack`.`name`,`Poprackmodule`.start_he,`Poprackmodule`.position)
|
|
UNION
|
|
(SELECT `Poprackmodule`.`type`,`Poprack`.`id`,`Poprack`.`sort`, `Poprack`.`name`, `Poprack`.`he`,`Poprackmodule`.start_he,`Poprackmodule`.end_he,`Device`.`name` as `modulname`,device_id,`Poprackmodule`.`id` as moduleid,`Poprackmodule`.`width` as modulewidth,`Poprackmodule`.`position` as moduleposition,`Poprackmodule`.`ports` as moduleports,`Poprackmodule`.`plug` as moduleplug FROM `Poprack`
|
|
LEFT JOIN `Poprackmodule` ON (`Poprackmodule`.`poprack_id`=`Poprack`.`id` AND `Poprackmodule`.`type`=1)
|
|
LEFT JOIN `Device` ON (`Device`.`id`=`Poprackmodule`.`device_id`)
|
|
WHERE `Poprack`.`pop_id`='" . $pop_id . "' ORDER by `Poprack`.`sort`,`Poprack`.`name`,`Poprackmodule`.start_he,`Poprackmodule`.position)
|
|
ORDER BY sort,name,start_he,moduleposition
|
|
";
|
|
|
|
//
|
|
// $sql = "SELECT `Poprack`.`id`, `Poprack`.`name`, `Poprack`.`he`,`Poprackmodule`.start_he,`Poprackmodule`.end_he,`Poprackmodule`.`name` as `modulname` FROM `Poprack`
|
|
// LEFT JOIN `Poprackmodule` ON (`Poprackmodule`.`poprack_id`=`Poprack`.`id`)
|
|
// WHERE `Poprack`.`pop_id`='" . $pop_id . "' ORDER by `Poprack`.`sort`,`Poprack`.`name`,`Poprackmodule`.`start_he`";
|
|
$res = $db->query($sql);
|
|
if ($db->num_rows($res)) {
|
|
$oldrackid = "";
|
|
$counter = -1;
|
|
while ($data = $db->fetch_array($res)) {
|
|
|
|
if ($oldrackid != $data['id']) {
|
|
$counter++;
|
|
$items[$counter]['rack']['id'] = $data['id'];
|
|
$items[$counter]['rack']['name'] = $data['name'];
|
|
$items[$counter]['rack']['he'] = $data['he'];
|
|
$modulecounter = 0;
|
|
}
|
|
if ($data['modulname']) {
|
|
if ($data['device_id']) {
|
|
$items[$counter]['modules'][$data['start_he']]['slots'][$data['moduleid']]['device_id'] = $data['device_id'];
|
|
}
|
|
$items[$counter]['modules'][$data['start_he']]['start_he'] = $data['start_he'];
|
|
$items[$counter]['modules'][$data['start_he']]['end_he'] = $data['end_he'];
|
|
$items[$counter]['modules'][$data['start_he']]['slots'][$data['moduleid']]['modulname'] = $data['modulname'];
|
|
$items[$counter]['modules'][$data['start_he']]['slots'][$data['moduleid']]['moduleid'] = $data['moduleid'];
|
|
$items[$counter]['modules'][$data['start_he']]['slots'][$data['moduleid']]['type'] = $data['type'];
|
|
$items[$counter]['modules'][$data['start_he']]['slots'][$data['moduleid']]['width'] = $data['modulewidth'];
|
|
$items[$counter]['modules'][$data['start_he']]['slots'][$data['moduleid']]['position'] = $data['moduleposition'];
|
|
$items[$counter]['modules'][$data['start_he']]['slots'][$data['moduleid']]['ports'] = $data['moduleports'];
|
|
$items[$counter]['modules'][$data['start_he']]['slots'][$data['moduleid']]['plug'] = $data['moduleplug'];
|
|
$modulecounter++;
|
|
}
|
|
$oldrackid = $data['id'];
|
|
}
|
|
|
|
}
|
|
|
|
return $items;
|
|
|
|
}
|
|
|
|
public static function getAllbyRack($rack_id)
|
|
{
|
|
$items = [];
|
|
|
|
$db = FronkDB::singleton();
|
|
$sql = "(SELECT `Poprackmodule`.`type`,`Poprack`.`id`,`Poprack`.`sort`, `Poprack`.`name`, `Poprack`.`he`,`Poprackmodule`.start_he,`Poprackmodule`.end_he,`Poprackmodule`.`name` as `modulname`,device_id ,`Poprackmodule`.`id` as moduleid,`Poprackmodule`.`width` as modulewidth,`Poprackmodule`.`position` as moduleposition,`Poprackmodule`.`ports` as moduleports,`Poprackmodule`.`plug` as moduleplug FROM `Poprack`
|
|
LEFT JOIN `Poprackmodule` ON (`Poprackmodule`.`poprack_id`=`Poprack`.`id` AND `Poprackmodule`.`type`!=1)
|
|
WHERE `Poprack`.`id`='" . $rack_id . "' ORDER by `Poprack`.`sort`,`Poprack`.`name`,`Poprackmodule`.start_he,`Poprackmodule`.position)
|
|
UNION
|
|
(SELECT `Poprackmodule`.`type`,`Poprack`.`id`,`Poprack`.`sort`, `Poprack`.`name`, `Poprack`.`he`,`Poprackmodule`.start_he,`Poprackmodule`.end_he,`Device`.`name` as `modulname`,device_id,`Poprackmodule`.`id` as moduleid,`Poprackmodule`.`width` as modulewidth,`Poprackmodule`.`position` as moduleposition,`Poprackmodule`.`ports` as moduleports,`Poprackmodule`.`plug` as moduleplug FROM `Poprack`
|
|
LEFT JOIN `Poprackmodule` ON (`Poprackmodule`.`poprack_id`=`Poprack`.`id` AND `Poprackmodule`.`type`=1)
|
|
LEFT JOIN `Device` ON (`Device`.`id`=`Poprackmodule`.`device_id`)
|
|
WHERE `Poprack`.`id`='" . $rack_id . "' ORDER by `Poprack`.`sort`,`Poprack`.`name`,`Poprackmodule`.start_he,`Poprackmodule`.position)
|
|
ORDER BY sort,name,start_he,moduleposition
|
|
";
|
|
|
|
//
|
|
// $sql = "SELECT `Poprack`.`id`, `Poprack`.`name`, `Poprack`.`he`,`Poprackmodule`.start_he,`Poprackmodule`.end_he,`Poprackmodule`.`name` as `modulname` FROM `Poprack`
|
|
// LEFT JOIN `Poprackmodule` ON (`Poprackmodule`.`poprack_id`=`Poprack`.`id`)
|
|
// WHERE `Poprack`.`pop_id`='" . $pop_id . "' ORDER by `Poprack`.`sort`,`Poprack`.`name`,`Poprackmodule`.`start_he`";
|
|
$res = $db->query($sql);
|
|
if ($db->num_rows($res)) {
|
|
$oldrackid = "";
|
|
$counter = -1;
|
|
while ($data = $db->fetch_array($res)) {
|
|
|
|
if ($oldrackid != $data['id']) {
|
|
$counter++;
|
|
$items[$counter]['rack']['id'] = $data['id'];
|
|
$items[$counter]['rack']['name'] = $data['name'];
|
|
$items[$counter]['rack']['he'] = $data['he'];
|
|
$modulecounter = 0;
|
|
}
|
|
if ($data['modulname']) {
|
|
if ($data['device_id']) {
|
|
$items[$counter]['modules'][$data['start_he']]['slots'][$data['moduleid']]['device_id'] = $data['device_id'];
|
|
}
|
|
$items[$counter]['modules'][$data['start_he']]['start_he'] = $data['start_he'];
|
|
$items[$counter]['modules'][$data['start_he']]['end_he'] = $data['end_he'];
|
|
$items[$counter]['modules'][$data['start_he']]['slots'][$data['moduleid']]['modulname'] = $data['modulname'];
|
|
$items[$counter]['modules'][$data['start_he']]['slots'][$data['moduleid']]['moduleid'] = $data['moduleid'];
|
|
$items[$counter]['modules'][$data['start_he']]['slots'][$data['moduleid']]['type'] = $data['type'];
|
|
$items[$counter]['modules'][$data['start_he']]['slots'][$data['moduleid']]['width'] = $data['modulewidth'];
|
|
$items[$counter]['modules'][$data['start_he']]['slots'][$data['moduleid']]['position'] = $data['moduleposition'];
|
|
$items[$counter]['modules'][$data['start_he']]['slots'][$data['moduleid']]['ports'] = $data['moduleports'];
|
|
$items[$counter]['modules'][$data['start_he']]['slots'][$data['moduleid']]['plug'] = $data['moduleplug'];
|
|
$modulecounter++;
|
|
}
|
|
$oldrackid = $data['id'];
|
|
}
|
|
|
|
}
|
|
|
|
return $items;
|
|
|
|
}
|
|
|
|
public static function getpoprack($pop_id)
|
|
{
|
|
$items = [];
|
|
$db = FronkDB::singleton();
|
|
$sql = "SELECT `id`, `name`, `he` FROM `Poprack` WHERE pop_id='" . $pop_id . "' ";
|
|
|
|
$res = $db->query($sql);
|
|
if ($db->num_rows($res)) {
|
|
while ($data = $db->fetch_array($res)) {
|
|
$items[] = $data;
|
|
}
|
|
|
|
$response['data'] = $items;
|
|
$response['success'] = true;
|
|
|
|
|
|
} else {
|
|
$response['success'] = false;
|
|
}
|
|
echo json_encode($response);
|
|
exit;
|
|
}
|
|
public static function getdispatchersleeve($dispatcher_id)
|
|
{
|
|
$items = [];
|
|
$db = FronkDB::singleton();
|
|
$sql = "SELECT `id`, `name` FROM `FiberPlanDispatchersleeve` WHERE fiberPlanDispatcher_id='" . $dispatcher_id . "' ";
|
|
|
|
$res = $db->query($sql);
|
|
if ($db->num_rows($res)) {
|
|
while ($data = $db->fetch_array($res)) {
|
|
$items[] = $data;
|
|
}
|
|
|
|
$response['data'] = $items;
|
|
$response['success'] = true;
|
|
|
|
|
|
} else {
|
|
$response['success'] = false;
|
|
}
|
|
echo json_encode($response);
|
|
exit;
|
|
}
|
|
|
|
} |