Merge branch 'fronkdev' of code.fronk.at:fronk/thetool into fronkdev

This commit is contained in:
Frank Schubert
2023-07-14 14:20:31 +02:00
26 changed files with 4964 additions and 33 deletions
@@ -27,6 +27,8 @@ class ADBHausnummerModel {
public $manual_update;
public $manual_update_by;
public $manual_update_info;
public $rimo_id;
public $rimo_fcp_name;
public $create = null;
public $edit = null;
@@ -16,8 +16,10 @@ class DeviceApicontroller extends mfBaseApicontroller
$deviceReturn[$key]['id'] = $device->id;
$deviceReturn[$key]['name'] = $device->name;
$deviceReturn[$key]['ip'] = $device->ip;
$deviceReturn[$key]['snmp_version'] = $device->snmp_version;
$deviceReturn[$key]['serial'] = $device->serial;
$deviceReturn[$key]['manufactor'] = $device->devicetype->devicemanufactor->name;
}
return mfResponse::Ok($deviceReturn);
+52 -2
View File
@@ -43,8 +43,16 @@ class DeviceController extends mfBaseController
$this->layout()->setTemplate("Device/Detail");
$devicesconfig = DeviceModel::getconifg($id);
$devices = DeviceModel::getOne($id);
if ($devices->devicetype->olt == "1") {
$customer = DeviceModel::getOltCustomer($device->ip);
} else {
$customer = [];
}
$this->layout()->set("devicesconfig", $devicesconfig);
$this->layout()->set("devices", $devices);
$this->layout()->set("customer", $customer);
}
@@ -122,6 +130,11 @@ class DeviceController extends mfBaseController
$data['ip'] = $r->ip;
$data['mac'] = $r->mac;
$data['serial'] = $r->serial;
if ($r->snmp_version) {
$data['snmp_version'] = $r->snmp_version;
} else {
$data['snmp_version'] = NULL;
}
if (empty(trim($r->price))) {
$data['price'] = "0.00";
} else {
@@ -212,14 +225,17 @@ class DeviceController extends mfBaseController
protected function apiAction()
{
if (!$this->me->is(["Admin"])) {
$this->redirect("Dashboard");
$return = false;
}
$do = $this->request->do;
$format = $this->request->format;
$filename = $this->request->filename;
$id = $this->request->id;
$ip = $this->request->ip;
$portid = $this->request->portid;
$ports = $this->request->ports;
$adv = $this->request->adv;
$ont = $this->request->ont;
$data = [];
switch ($do) {
@@ -229,6 +245,15 @@ class DeviceController extends mfBaseController
case "createconfig":
$return = $this->createConfig($ip);
break;
case "getoltinfo":
$return = $this->getoltInfo($ip, $portid, $adv);
break;
case "getontinfo":
$return = $this->getontInfo($ip, $portid, $ont);
break;
case "changeoltsplitter":
$return = $this->changeoltSplitter($id, $portid, $ports);
break;
default:
$return = false;
}
@@ -279,4 +304,29 @@ class DeviceController extends mfBaseController
return $this->redirect($returnUrl, $returnAction, $returnVariables, $returnAnker);
}
private function changeoltSplitter($id, $portid, $ports)
{
$changeOltSplitter = DeviceModel::changeoltSplitter($id, $portid, $ports);
echo json_encode($changeOltSplitter);
exit;
}
private function getoltInfo($ip, $portid, $adv)
{
$r = $this->request;
$id = $r->id;
$getOltInfo = DeviceModel::getoltInfo($ip, $portid, $adv);
echo json_encode($getOltInfo);
exit;
}
private function getontInfo($ip, $portid, $ont)
{
$r = $this->request;
$id = $r->id;
$getOntInfo = DeviceModel::getontInfo($ip, $portid, $ont);
echo json_encode($getOntInfo);
exit;
}
}
+132
View File
@@ -17,6 +17,7 @@ class DeviceModel
public $addr_city = null;
public $gps_long = null;
public $create_by = null;
public $snmp_version = null;
public $edit_by = null;
public $create = null;
public $edit = null;
@@ -137,6 +138,49 @@ class DeviceModel
return $where;
}
public static function getOltCustomer($ip)
{
$items = [];
$db = FronkDB::singleton();
// $sql = "SELECT Patching.id,lastname,firstname,customer_number,company,device_name,device_port FROM `Patching`
//LEFT JOIN OrderProduct ON (Patching.termination_id=OrderProduct.termination_id)
//LEFT JOIN `Order` ON (`Order`.id=OrderProduct.order_id)
//LEFT JOIN Address ON Address.id=`Order`.owner_id
//WHERE Patching.`device_name` LIKE '".$ip."%'";
// $res = $db->query($sql);
// if ($db->num_rows($res)) {
// while ($data = $db->fetch_array($res)) {
// $devicePort = str_replace($ip, "", $data['device_name']);
// $devicePort=trim($devicePort);
// $devicePort=ltrim($devicePort,"/");
// $devicePort=ltrim($devicePort,"-");
// $devicePort=$devicePort."/".$data['device_port'];
// $devicePort=str_replace("/","-",$devicePort);
// $devicePort=rtrim($devicePort,"-");
// $items[$devicePort] = $data;
//
//
// }
// }
$sql = "Select Patching.id,lastname,firstname,customer_number,company,device_name,device_port,value_string FROM Workflowvalue
LEFT JOIN Termination ON Termination.id=Workflowvalue.object_id
LEFT JOIN Patching ON Termination.id = Patching.termination_id
LEFT JOIN OrderProduct ON (Patching.termination_id=OrderProduct.termination_id)
LEFT JOIN `Order` ON (`Order`.id=OrderProduct.order_id)
LEFT JOIN Address ON Address.id=`Order`.owner_id
WHERE `item_id` = '55'";
$res = $db->query($sql);
if ($db->num_rows($res)) {
while ($data = $db->fetch_array($res)) {
$ontSn=$data['value_string'];
$ontSn= str_replace("HWTC","48575443",$ontSn);
$items[$ontSn] = $data;
}
}
return $items;
}
public static function getconifg($id)
{
$response = "";
@@ -215,4 +259,92 @@ class DeviceModel
endif;
return json_decode($response);
}
public static function getoltInfo($ip, $portid = '', $adv = '')
{
if ($portid) {
$portid = "/" . $portid;
}
if ($adv) {
$adv = "/" . $adv;
}
$url = TT_MBI_API_URL . TT_MBI_API_VERSION . '/deviceoltinfo/' . $ip . $portid . $adv;
$response = "";
if (TT_MBI_API_ENABLE) :
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer ' . TT_MBI_API_KEY),
));
$response = curl_exec($curl);
curl_close($curl);
endif;
return json_decode($response);
}
public static function getontInfo($ip, $portid = '', $ont = '')
{
$portid = "/" . $portid;
$ont = "/ont/" . $ont;
$url = TT_MBI_API_URL . TT_MBI_API_VERSION . '/deviceoltinfo/' . $ip . $portid . $ont;
$response = "";
if (TT_MBI_API_ENABLE) :
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer ' . TT_MBI_API_KEY),
));
$response = curl_exec($curl);
curl_close($curl);
endif;
return json_decode($response);
}
public static function changeoltSplitter($id, $portid, $ports)
{
$url = TT_MBI_API_URL . TT_MBI_API_VERSION . '/deviceoltsetsplitter/' . $id . "/" . $portid . "/" . $ports;
$response = "";
if (TT_MBI_API_ENABLE) :
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer ' . TT_MBI_API_KEY),
));
$response = curl_exec($curl);
curl_close($curl);
endif;
return json_decode($response);
}
}
@@ -81,11 +81,17 @@ class DevicetypeController extends mfBaseController
$power = $r->power;
}
if ($r->olt) {
$olt = "1";
}
$data = [];
$data['name'] = trim($r->name);
$data['devicemanufactor_id'] = $r->devicemanufactor_id;
$data['price'] = $price;
$data['power'] = $power;
$data['olt'] = $olt;
if (!$data['name']) {
$this->layout()->setFlash("Name darf nicht leer sein", "error");
@@ -5,6 +5,7 @@ class DevicetypeModel
public $name = null;
public $power = null;
public $price = null;
public $olt = null;
public $devicemanufactor_id = null;
+2
View File
@@ -300,6 +300,8 @@ class PreorderModel {
$deleted = $filter['deleted'];
if(is_numeric($deleted)) {
$where .= " AND deleted=$deleted";
} elseif($deleted == null) {
$where .= " AND (deleted IS NULL OR deleted = 0)";
}
}
@@ -13,6 +13,7 @@ class Preordernotification extends mfBaseModel {
$preorder_filter = json_decode($this->preorder_filter, true);
$preorder_filter['preordercampaign_id'] = $this->preordercampaign_id;
$preorder_filter['deleted'] = null;
$preorders = PreorderModel::search($preorder_filter);
return $preorders;
@@ -363,6 +363,7 @@ class PreordernotificationController extends mfBaseController {
// get and save preorder count
$preorder_filter = json_decode($notification->preorder_filter, true);
$preorder_filter['preordercampaign_id'] = $notification->preordercampaign_id;
$preorder_filter['deleted'] = null;
$preorder_count = PreorderModel::count($preorder_filter);
$notification->recipient_count = $preorder_count;
$notification->save();