From e75387138147905ffd3b12cafffdc10f5388d948 Mon Sep 17 00:00:00 2001 From: phpipam <miha.petkovsek@telemach.si> Date: Wed, 8 Nov 2023 08:30:26 +0100 Subject: [PATCH] php8 and other fixes --- app/folder/folder-map-search.php | 8 +++++- app/folder/folder-map.php | 4 +-- app/folder/index.php | 2 +- app/login/captcha | 2 +- .../address-details/address-details.php | 2 +- app/subnets/addresses/print-address-table.php | 4 +-- .../subnet-details/subnet-changelog.php | 1 + .../subnet-details/subnet-map-search.php | 27 +++---------------- app/tools/nat/all_nats.php | 2 +- app/tools/powerDNS/domain-records.php | 8 +++--- app/tools/vlan/domains.php | 2 +- functions/GoogleAuthenticator | 2 +- functions/PHPMailer | 2 +- functions/classes/class.Common.php | 2 +- functions/classes/class.Subnets.php | 2 +- functions/classes/class.Tools.php | 4 ++- functions/parsedown | 2 +- functions/php-saml | 2 +- functions/xmlseclibs | 2 +- 19 files changed, 34 insertions(+), 46 deletions(-) diff --git a/app/folder/folder-map-search.php b/app/folder/folder-map-search.php index 6513bee9..3c107184 100755 --- a/app/folder/folder-map-search.php +++ b/app/folder/folder-map-search.php @@ -7,6 +7,9 @@ $biggest_subnet_mask = 32; # set type $type = ""; +// count subnets +$cnt = []; + foreach($subnets as $id=>$subnet) { if($subnet->isFolder!=1) { // identify address @@ -21,6 +24,9 @@ foreach($subnets as $id=>$subnet) { if($subnet->mask<$biggest_subnet_mask) { $biggest_subnet_mask = $subnet->mask; } } + // first ? + if(!isset($cnt[$subnet->mask])) { $cnt[$subnet->mask]=0; } + // size $cnt[$subnet->mask]++; } @@ -36,7 +42,7 @@ $masks = []; print "<h4>"._("Select mask").":</h4><hr>"; for($m=$biggest_subnet_mask+1; $m<=$pow; $m++) { // active - $active = $m==$_GET['ipaddrid'] ? "btn-success" : ""; + $active = $m==@$_GET['ipaddrid'] ? "btn-success" : ""; // number of subnets $subnet_num = 0; diff --git a/app/folder/folder-map.php b/app/folder/folder-map.php index 3a06b725..9ec794a1 100755 --- a/app/folder/folder-map.php +++ b/app/folder/folder-map.php @@ -60,7 +60,7 @@ if($slaves) { # create free objects for($searchmask=$subnet['mask']+1; $searchmask<$smallest_subnet_mask+1; $searchmask++) { // search ? - if((@$from_search==true && $searchmask==$from_search_mask) || $from_search==false) { + if((@$from_search==true && $searchmask==$from_search_mask) || @$from_search==false) { // search $found = $Subnets->search_available_subnets ($subnet['id'], $searchmask, $count = Subnets::SEARCH_FIND_ALL, $direction = Subnets::SEARCH_FIND_FIRST); @@ -138,7 +138,7 @@ if($slaves) { print "<div class='ip_vis_subnet'>"; for($m=1; $m<=$max_subnets;$m++) { if(in_array($Subnets->transform_address($subnet_start, "dotted")."/".$free_mask, $items)) { - print "<span class='subnet_map subnet_map_$pow subnet_map_found'><a href='' data-sectionid='{$section->id}' data-mastersubnetid='{$subnet[id]}' class='createfromfree' data-cidr='".$Subnets->transform_address($subnet_start, "dotted")."/".$free_mask."' rel='tooltip' title='"._("Create subnet")."'>".$Subnets->transform_address($subnet_start, "dotted")."/".$free_mask."</a></span>"; + print "<span class='subnet_map subnet_map_$pow subnet_map_found'><a href='' data-sectionid='{$section->id}' data-mastersubnetid='".$subnet['id']."' class='createfromfree' data-cidr='".$Subnets->transform_address($subnet_start, "dotted")."/".$free_mask."' rel='tooltip' title='"._("Create subnet")."'>".$Subnets->transform_address($subnet_start, "dotted")."/".$free_mask."</a></span>"; } else { print "<span class='subnet_map subnet_map_$pow subnet_map_notfound'>".$Subnets->transform_address($subnet_start, "dotted")."/".$free_mask."</span>"; diff --git a/app/folder/index.php b/app/folder/index.php index 3ec65c8a..07a190c1 100644 --- a/app/folder/index.php +++ b/app/folder/index.php @@ -27,7 +27,7 @@ if($folder_permission == 0) { $Result->show("danger", _('You do not have permi # get all slaves and addresses $slaves = $Subnets->fetch_subnet_slaves ($folderId); -$addresses = $Addresses->fetch_subnet_addresses ($folder['id'], $sort['field'], $sort['direction']); +$addresses = $Addresses->fetch_subnet_addresses ($folder['id'], @$sort['field'], @$sort['direction']); # print Folder details print "<div class='subnetDetails'>"; diff --git a/app/login/captcha b/app/login/captcha index 1ecb8847..2be13fdd 160000 --- a/app/login/captcha +++ b/app/login/captcha @@ -1 +1 @@ -Subproject commit 1ecb884797c66e01a875c058def46c85aecea45b +Subproject commit 2be13fddff68a72dee2c68196dbce7c8f825bcc1 diff --git a/app/subnets/addresses/address-details/address-details.php b/app/subnets/addresses/address-details/address-details.php index f434b137..03c25e15 100644 --- a/app/subnets/addresses/address-details/address-details.php +++ b/app/subnets/addresses/address-details/address-details.php @@ -345,7 +345,7 @@ if(sizeof($address)>1) { print " <a class='ping_ipaddress btn btn-default btn-xs' data-subnetId='".$address['subnetId']."' data-id='".$address['id']."' href='#' rel='tooltip' data-container='body' title='"._('Check availability')."'> <i class='fa fa-gray fa-cogs'></i></a>"; print " <a class='search_ipaddress btn btn-default btn-xs "; if(is_blank($resolve['name'])) { print "disabled"; } print "' href='".create_link("tools","search",$resolve['name'])."' "; if(!is_blank($resolve['name'])) { print "rel='tooltip' data-container='body' title='"._('Search same hostnames in db')."'"; } print "> <i class='fa fa-gray fa-search'></i></a>"; print " <a class='mail_ipaddress btn btn-default btn-xs ' href='#' data-id='".$address['id']."' rel='tooltip' data-container='body' title='"._('Send mail notification')."'> <i class='fa fa-gray fa-envelope-o'></i></a>"; - if($zone) { + if(isset($zone)) { print " <a class='fw_autogen btn btn-default btn-xs ' href='#' data-subnetid='".$subnet['id']."' data-action='adr' data-ipid='".$address['id']."' data-dnsname='".((preg_match('/\//i',$address['hostname'])) ? '':$address['hostname'])."' rel='tooltip' data-container='body' title='"._('Regenerate firewall address object.')."'><i class='fa fa-gray fa-fire'></i></a>"; } print " <a class='delete_ipaddress btn btn-default btn-xs modIPaddr' data-action='delete' data-subnetId='".$address['subnetId']."' data-id='".$address['id']."' href='#' id2='$address[ip]' rel='tooltip' data-container='body' title='"._('Delete IP address')."'> <i class='fa fa-gray fa-times'></i></a>"; diff --git a/app/subnets/addresses/print-address-table.php b/app/subnets/addresses/print-address-table.php index 4e4f09e7..b56ddc76 100644 --- a/app/subnets/addresses/print-address-table.php +++ b/app/subnets/addresses/print-address-table.php @@ -165,7 +165,7 @@ else { print _("IP addresses belonging to ALL nested subnets"); } if(in_array('port', $selected_ip_fields)) { print "<th class='hidden-xs hidden-sm hidden-md'>"._('Port')."</th>"; } if(in_array('location', $selected_ip_fields) && $User->get_module_permissions ("locations")>=User::ACCESS_R) { print "<th class='hidden-xs hidden-sm hidden-md'>"._('Location')."</th>"; } if(in_array('owner', $selected_ip_fields)) { print "<th class='hidden-xs hidden-sm'>"._('Owner')."</th>"; } - if($User->settings->enableCustomers=="1" && $cnt_obj["customer_id"]>0 && $User->get_module_permissions ("customers")>=User::ACCESS_R) { print "<th class='hidden-xs hidden-sm'>"._('Customer')."</th>"; } + if($User->settings->enableCustomers=="1" && @$cnt_obj["customer_id"]>0 && $User->get_module_permissions ("customers")>=User::ACCESS_R) { print "<th class='hidden-xs hidden-sm'>"._('Customer')."</th>"; } // custom fields if(sizeof($custom_fields) > 0) { foreach($custom_fields as $myField) { @@ -480,7 +480,7 @@ else { } # customer_id - if($User->settings->enableCustomers=="1" && $cnt_obj["customer_id"] && $User->get_module_permissions ("customers")>=User::ACCESS_R) { + if($User->settings->enableCustomers=="1" && @$cnt_obj["customer_id"] && $User->get_module_permissions ("customers")>=User::ACCESS_R) { $customer = $Tools->fetch_object ("customers", "id", $addresses[$n]->customer_id); print $customer===false ? "<td></td>" : "<td>$customer->title <a target='_blank' href='".create_link("tools","customers",$customer->title)."'><i class='fa fa-external-link'></i></a></td>"; } diff --git a/app/subnets/subnet-details/subnet-changelog.php b/app/subnets/subnet-details/subnet-changelog.php index e36abd47..073030db 100755 --- a/app/subnets/subnet-details/subnet-changelog.php +++ b/app/subnets/subnet-details/subnet-changelog.php @@ -153,6 +153,7 @@ if($clogsAddresses) { foreach($clogsAddresses as $l) { $l = (array) $l; # format diff + if(!is_null($l['cdiff'])) $l['cdiff'] = str_replace("\n", "<br>", $l['cdiff']); print "<tr>"; diff --git a/app/subnets/subnet-details/subnet-map-search.php b/app/subnets/subnet-details/subnet-map-search.php index ddd67e30..2c1ade92 100644 --- a/app/subnets/subnet-details/subnet-map-search.php +++ b/app/subnets/subnet-details/subnet-map-search.php @@ -1,29 +1,14 @@ <?php - -# max mask possible -$biggest_subnet_mask = 32; - -# set type -$type = ""; - -// ipv6 -if($Tools->identify_address($subnet['subnet'])=="IPv6") { - $biggest_subnet_mask = $subnet['mask']+10>128 ? 128 : $subnet['mask']; - $pow = 128; -} -else { - $biggest_subnet_mask = $subnet['mask']+10>32 ? 32 : $subnet['mask']; - $pow = 32; -} - +// max mask possible +$pow = $Tools->identify_address($subnet['subnet'])=="IPv6" ? 128 : 32; // // Select mask // $masks = []; print "<h4>"._("Select mask").":</h4><hr>"; -for($m=$biggest_subnet_mask+1; $m<=$pow; $m++) { +for($m=$subnet['mask']+1; $m<=$pow; $m++) { // active $active = $m==@$_GET['ipaddrid'] ? "btn-success" : ""; @@ -36,12 +21,6 @@ for($m=$biggest_subnet_mask+1; $m<=$pow; $m++) { $masks[] = $m; } - -// validate - - - - // // include // diff --git a/app/tools/nat/all_nats.php b/app/tools/nat/all_nats.php index 1bd601ad..39906ff2 100644 --- a/app/tools/nat/all_nats.php +++ b/app/tools/nat/all_nats.php @@ -127,7 +127,7 @@ else { $policy_dst = $n->policy=="Yes" ? $n->policy_dst : "/"; // description - $n->description = str_replace("\n", "<br>", $n->description); + $n->description = is_null($n->description) ? "" : str_replace("\n", "<br>", $n->description); // port if(is_blank($n->src_port)) $n->src_port = "/"; diff --git a/app/tools/powerDNS/domain-records.php b/app/tools/powerDNS/domain-records.php index 0c7ef09b..eb7b1da7 100644 --- a/app/tools/powerDNS/domain-records.php +++ b/app/tools/powerDNS/domain-records.php @@ -30,12 +30,12 @@ if ($domain === false) { // SOA, NS if ($r->type == "SOA") { $r->order = 1; - $records_default[] = $r; + $records_default[] = (array) $r; unset($records[$k]); } if ($r->type == "NS") { $r->order = 2; - $records_default[] = $r; + $records_default[] = (array) $r; unset($records[$k]); } // split to $origins ? @@ -46,7 +46,7 @@ if ($domain === false) { $order = array(); if(isset($records_default)) { foreach ($records_default as $key => $row) { - $order[$key] = $row->order; + $order[$key] = $row['order']; } array_multisort($records_default, SORT_ASC, SORT_NUMERIC, $order); } @@ -178,7 +178,7 @@ if (isset($records_default)) { // defaults foreach ($records_default as $r) { - print_record($r); + print_record((object) $r); } } diff --git a/app/tools/vlan/domains.php b/app/tools/vlan/domains.php index cd78e531..fef1c38b 100644 --- a/app/tools/vlan/domains.php +++ b/app/tools/vlan/domains.php @@ -56,7 +56,7 @@ foreach($vlan_domains as $domain) { } else { //explode - unset($sec); + $sec = []; $sections_tmp = pf_explode(";", $domain->permissions); foreach($sections_tmp as $t) { //fetch section diff --git a/functions/GoogleAuthenticator b/functions/GoogleAuthenticator index 3baa997f..505c2af8 160000 --- a/functions/GoogleAuthenticator +++ b/functions/GoogleAuthenticator @@ -1 +1 @@ -Subproject commit 3baa997f399d4afd5d6a81d42244ec9cc3eeb080 +Subproject commit 505c2af8337b559b33557f37cda38e5f843f3768 diff --git a/functions/PHPMailer b/functions/PHPMailer index df16b615..ee4090bd 160000 --- a/functions/PHPMailer +++ b/functions/PHPMailer @@ -1 +1 @@ -Subproject commit df16b615e371d81fb79e506277faea67a1be18f1 +Subproject commit ee4090bd62ad3ded3eac19d6fd0213abbe3596f1 diff --git a/functions/classes/class.Common.php b/functions/classes/class.Common.php index 2c22f7c1..9835e99e 100644 --- a/functions/classes/class.Common.php +++ b/functions/classes/class.Common.php @@ -1098,7 +1098,7 @@ class Common_functions { */ public function create_links ($text, $field_type = "varchar") { if (!is_string($text)) - return ''; + return $text; // create links only for varchar fields if (strpos($field_type, "varchar")!==false) { diff --git a/functions/classes/class.Subnets.php b/functions/classes/class.Subnets.php index e3fbc146..6d5f3d5b 100644 --- a/functions/classes/class.Subnets.php +++ b/functions/classes/class.Subnets.php @@ -761,7 +761,7 @@ class Subnets extends Common_functions { try { $query = "SELECT s.* FROM subnets AS s INNER JOIN (SELECT subnet,mask,COUNT(*) AS cnt FROM subnets GROUP BY subnet,mask HAVING cnt >1) dups ON s.subnet=dups.subnet AND s.mask=dups.mask - ORDER BY s.subnet,s.mask,s.id;"; + and.s.isFolder=0 ORDER BY s.subnet,s.mask,s.id;"; $subnets = $this->Database->getObjectsQuery($query); diff --git a/functions/classes/class.Tools.php b/functions/classes/class.Tools.php index f42310e1..4435d3d5 100644 --- a/functions/classes/class.Tools.php +++ b/functions/classes/class.Tools.php @@ -1956,7 +1956,9 @@ class Tools extends Common_functions { // append status if ($snet->pingSubnet=="1") { //calculate - $tDiff = time() - strtotime($item->lastSeen); + if(!is_null($item->lastSeen)) { + $tDiff = time() - strtotime($item->lastSeen); + } if($item->excludePing=="1" ) { $hStatus = "padded"; $hTooltip = ""; } elseif(is_null($item->lastSeen)) { $hStatus = "neutral"; $hTooltip = "rel='tooltip' data-container='body' data-html='true' data-placement='left' title='"._("Address was never online")."'"; } elseif($item->lastSeen == "0000-00-00 00:00:00") { $hStatus = "neutral"; $hTooltip = "rel='tooltip' data-container='body' data-html='true' data-placement='left' title='"._("Address is offline")."<hr>"._("Last seen").": "._("Never")."'";} diff --git a/functions/parsedown b/functions/parsedown index cb17b647..77947eda 160000 --- a/functions/parsedown +++ b/functions/parsedown @@ -1 +1 @@ -Subproject commit cb17b6477dfff935958ba01325f2e8a2bfa6dab3 +Subproject commit 77947eda2fdaf06b181c63a7db13e38968306aee diff --git a/functions/php-saml b/functions/php-saml index a7328b11..5fbf3486 160000 --- a/functions/php-saml +++ b/functions/php-saml @@ -1 +1 @@ -Subproject commit a7328b11887660ad248ea10952dd67a5aa73ba3b +Subproject commit 5fbf3486704ac9835b68184023ab54862c95f213 diff --git a/functions/xmlseclibs b/functions/xmlseclibs index f8f19e58..cf50b502 160000 --- a/functions/xmlseclibs +++ b/functions/xmlseclibs @@ -1 +1 @@ -Subproject commit f8f19e58f26cdb42c54b214ff8a820760292f8df +Subproject commit cf50b5023964550d714df76ba9adf21eb6fdaa35 -- GitLab