$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 getOne($id) { if (!is_numeric($id) || !$id) { throw new Exception("Invalid number", 400); } $item = []; $db = FronkDB::singleton(); $res = $db->select("Device", "*", "id=$id LIMIT 1"); if ($db->num_rows($res)) { $data = $db->fetch_object($res); $item = new Device($data); } return $item; } public static function getAll() { $items = []; $db = FronkDB::singleton(); $res = $db->select("Device", "*"); if ($db->num_rows($res)) { while ($data = $db->fetch_object($res)) { $items[] = new Device($data); } } return $items; } public static function getFirst() { $db = FronkDB::singleton(); $where = self::getSqlFilter($filter); $res = $db->select("Device", "*", "$where ORDER BY name, network_id"); if ($db->num_rows($res)) { $data = $db->fetch_object($res); $item = new Device($data); if ($item->id) { return $item; } else { return null; } } return null; } public static function search($filter) { $items = []; $db = FronkDB::singleton(); $where = self::getSqlFilter($filter); $res = $db->select("Device", "*", "$where ORDER BY name"); if ($db->num_rows($res)) { while ($data = $db->fetch_object($res)) { $items[] = new Device($data); } } return $items; } private static function getSqlFilter($filter) { $where = "1=1 "; //var_dump($filter);exit; if (array_key_exists("pop_id", $filter)) { $popid = $filter['pop_id']; if (is_numeric($popid)) { $where .= " AND pop_id=$popid"; } } //var_dump($filter, $where);exit; 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 = ""; if (TT_MBI_API_ENABLE) : $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => TT_MBI_API_URL . TT_MBI_API_VERSION . '/deviceconfigs/' . $id, 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 getconifgdownload($id, $format) { $response = ""; if (TT_MBI_API_ENABLE) : $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => TT_MBI_API_URL . TT_MBI_API_VERSION . '/deviceconfigsdownload/' . $id . '/' . $format, 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 ($response); } public static function configcreate($ip) { $response = ""; if (TT_MBI_API_ENABLE) : $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => TT_MBI_API_URL . TT_MBI_API_VERSION . '/deviceconfigscreate/' . $ip, 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); 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 getontInfoMac($ip, $portid = '', $ont = '') { $portid = "/" . $portid; $ont = "/mac/" . $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); } }