/** * referer check * We can only request stuff from own URL and through XMLHttpRequest * * $_SERVER['HTTP_X_REQUESTED_WITH'] must be done through XMLHttpRequest * $_SERVER['HTTP_ORIGIN'] request must come from same IP as server is on! * */ function CheckReferrer() { if ($_SERVER['HTTP_X_REQUESTED_WITH'] != "XMLHttpRequest" && $_SERVER['HTTP_ORIGIN'] != $_SERVER['HTTP_HOST']) { updateLogTable('Page not referred properly', "", 2); die(_('Page not referred properly')); } }
$ipampassword = array(); // verify that there are no invalid characters if (strpos($_POST['ipamusername'], " ") > 0) { die("<div class='alert alert-danger'>" . _("Invalid characters in username") . "!</div>"); } // check failed table if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; } else { $ip = $_SERVER['REMOTE_ADDR']; } $cnt = check_blocked_ip($ip); # check for failed logins and captcha if ($cnt < 5) { } elseif (!isset($_POST['captcha'])) { updateLogTable("Login IP blocked", "Login from IP address {$ip} was blocked because of 5 minute block after 5 failed attempts", 1); die('<div class="alert alert-danger"><button type="button" class="close" data-dismiss="alert">×</button>' . _('You have been blocked for 5 minutes due to authentication failures') . '!</div>'); } else { # start session if (strlen($phpsessname) > 0) { session_name($phpsessname); } session_start(); # check captcha if ($_POST['captcha'] != $_SESSION['securimage_code_value']) { die("<div class='alert alert-danger'>" . _("Invalid security code") . "!</div>"); } session_write_close(); } /* check local login */ checkLogin($_POST['ipamusername'], md5($_POST['ipampassword']), $_POST['ipampassword']);
/** * accept IP request */ function acceptIPrequest($request) { global $database; /* first update request */ $query = 'update requests set `processed` = "1", `accepted` = "1", `adminComment` = "' . $request['adminComment'] . '" where `id` = "' . $request['requestId'] . '";' . "\n"; /* We need to get custom fields! */ $myFields = getCustomFields('ipaddresses'); $myFieldsInsert['query'] = ''; $myFieldsInsert['values'] = ''; if (sizeof($myFields) > 0) { /* set inserts for custom */ foreach ($myFields as $myField) { $myFieldsInsert['query'] .= ', `' . $myField['name'] . '`'; $myFieldsInsert['values'] .= ", '" . $request[$myField['name']] . "'"; } } /* insert */ $query .= "insert into `ipaddresses` "; $query .= "(`subnetId`,`description`,`ip_addr`, `dns_name`,`mac`, `owner`, `state`, `switch`, `port`, `note` " . $myFieldsInsert['query'] . ") "; $query .= "values "; $query .= "('" . $request['subnetId'] . "', '" . $request['description'] . "', '" . $request['ip_addr'] . "', " . "\n"; $query .= " '" . $request['dns_name'] . "', '" . $request['mac'] . "', '" . $request['owner'] . "', '" . $request['state'] . "', " . "\n"; $query .= " '" . $request['switch'] . "', '" . $request['port'] . "', '" . $request['note'] . "'" . $myFieldsInsert['values'] . ");"; /* set log file */ foreach ($request as $key => $req) { $log .= " " . $key . ": " . $req . "<br>"; } /* execute */ try { $database->executeMultipleQuerries($query); } catch (Exception $e) { $error = $e->getMessage(); print "<div class='alert alert-danger'>" . _('Error') . ": {$error}</div>"; updateLogTable('Failed to accept IP request', $log . "\n" . $error, 2); return false; } /* return success */ updateLogTable('IP request accepted', $log, 1); return true; }
$subnet = getSubnetDetailsById($request['subnetId']); $subnet['subnet'] = Transform2long($subnet['subnet']); $subnet = $subnet['subnet'] . "/" . $subnet['mask']; /* verify IP address and subnet */ $validIP = VerifyIpAddress($request['ip_addr'], $subnet); if (!empty($validIP)) { die('<div class="alert alert alert-danger">' . $validIP . '</div>'); } /* verify that it is not yet used */ if (checkDuplicate($request['ip_addr'], $subnet)) { die('<div class="alert alert alert-danger">' . _('IP address') . ' ' . $request['ip_addr'] . ' ' . _('already in use') . '!<br>* ' . _('First available IP address is') . ' <b>' . Transform2long(getFirstAvailableIPAddress($request['subnet'])) . '</a>!</div>'); } /* verify that it is not yet used */ if (checkDuplicate($request['ip_addr'], $request['subnetId'])) { die('<div class="alert alert alert-danger">' . _('IP address') . ' ' . $request['ip_addr'] . ' ' . _('already in use') . '!<br>* ' . _('First available IP address is') . ' <b>' . Transform2long(getFirstAvailableIPAddress($request['subnetId'])) . '</a>!</div>'); } /* transform IP address */ $request['ip_addr'] = Transform2decimal($request['ip_addr']); if (!acceptIPrequest($request)) { die('<div class="alert alert alert-danger">' . _('Cannot confirm IP address') . '!</div>'); updateLogTable('Cannot confirm IP address!', 'Cannot accept IP request for request id ' . Transform2long($request['requestId']) . '!', 2); } else { print '<div class="alert alert-success">' . _('IP address request confirmed and added to database') . '!</div>'; updateLogTable('IP address request confirmed and added to database!', 'IP request id ' . $request['requestId'] . ' (' . Transform2long($request['ip_addr']) . ') has been accepted!', 0); } } /* send email */ $subnet = getSubnetDetailsById($request['subnetId']); $subnet['subnet'] = Transform2long($subnet['subnet']); $subnet = $subnet['subnet'] . "/" . $subnet['mask']; include_once 'manageRequestResultMail.php';
/** * install databases */ function installDatabase($root) { global $db; # get variables from config file $databaseRoot = new database($db['host'], $root['user'], $root['pass']); /* Check connection */ if ($databaseRoot->connect_error) { die('<div class="alert alert-error">Connect Error (' . $databaseRoot->connect_errno . '): ' . $databaseRoot->connect_error) . "</div>"; } /* first create database */ $query = "create database " . $db['name'] . ";"; /* execute */ try { $databaseRoot->executeQuery($query); } catch (Exception $e) { $error = $e->getMessage(); die('<div class="alert alert-error">' . $error . '</div>'); } /* select database */ $databaseRoot->selectDatabase($db['name']); /* set permissions! */ $query = 'grant ALL on ' . $db['name'] . '.* to ' . $db['user'] . '@localhost identified by "' . $db['pass'] . '";'; /* execute */ try { $databaseRoot->executeMultipleQuerries($query); } catch (Exception $e) { $error = $e->getMessage(); die('<div class="alert alert-error">Cannot set permissions for user ' . $db['user'] . ': ' . $error . '</div>'); } /* try importing SCHEMA file */ $query = file_get_contents("../../db/SCHEMA.sql"); /* execute */ try { $databaseRoot->executeMultipleQuerries($query); } catch (Exception $e) { $error = $e->getMessage(); die('<div class="alert alert-error">Cannot install sql SCHEMA file: ' . $error . '</div>'); } /* return true, if some errors occured script already died! */ sleep(1); updateLogTable('Database installed successfully!', "version " . VERSION . " installed", 1); return true; }
/** * Modify API details */ function modifyAPI($api) { global $database; # set query based on action if ($api['action'] == "add") { $query = "insert into `api` (`app_id`,`app_code`,`app_permissions`, `app_comment`) values ('{$api['app_id']}','{$api['app_code']}','{$api['app_permissions']}', '{$api['app_comment']}');"; } elseif ($api['action'] == "edit") { $query = "update `api` set `app_id`='{$api['app_id']}',`app_code`='{$api['app_code']}',`app_permissions`='{$api['app_permissions']}', `app_comment`='{$api['app_comment']}' where `id`={$api['id']} ; "; } elseif ($api['action'] == "delete") { $query = "delete from `api` where `id` = {$api['id']};"; } else { return false; } $log = prepareLogFromArray($api); # prepare log /* execute */ try { $database->executeQuery($query); } catch (Exception $e) { $error = $e->getMessage(); updateLogTable('API update failed - ' . $error, $log, 2); # write error log return false; } # success updateLogTable('API updated ok', $log, 1); # write success log return true; }
/** * Send status update mail */ function sendStatusUpdateMail($content, $subject) { # get settings global $settings; global $mailsettings; global $mail; global $pmail; # add plain text $contentAlt = str_replace("<th style='padding:3px 8px;border:1px solid silver;border-bottom:2px solid gray;'>", " | ", $content); //replace th $contentAlt = str_replace("<td style='padding:3px 8px;border:1px solid silver;'>", " | ", $contentAlt); //replace td $contentAlt = str_replace("</tr>", "\n", $contentAlt); //add breaks $contentAlt = strip_tags($contentAlt); //strip rest of html # set mail parameters try { $pmail->SetFrom($mailsettings['mAdminMail'], $mailsettings['mAdminName']); // add admins to CC $admins = getAllAdminUsers(); foreach ($admins as $admin) { if ($admin['mailNotify'] == "Yes") { $pmail->AddAddress($admin['email']); } } // content $pmail->Subject = $subject; $pmail->AltBody = $mail['contentAlt']; $pmail->MsgHTML($content); # pošlji $pmail->Send(); } catch (phpmailerException $e) { updateLogTable("Sending notification mail for IP address state change failed!", $e->errorMessage(), 2); return false; } catch (Exception $e) { updateLogTable("Sending notification mail for IP address state change failed!", $e->errorMessage(), 2); return false; } # write log for ok updateLogTable("Sending notification mail for IP address state change succeeded!", null, 0); return true; }
/** * upgrade database */ function upgradeDatabase($version) { global $db; # get variables from config file $database = new database($db['host'], $db['user'], $db['pass'], $db['name']); /* Check connection */ if ($database->connect_error) { die('<div class="alert alert-error">Connect Error (' . $database->connect_errno . '): ' . $database->connect_error) . "</div>"; } /* get all upgrade files */ $dir = "../db/"; $dir = dirname(__FILE__) . '/../db/'; $files = scandir($dir); foreach ($files as $f) { //get only UPGRADE- for specific version if (substr($f, 0, 6) == "UPDATE") { $ver = str_replace(".sql", "", substr($f, 8)); if ($ver > $version) { //printout $query .= file_get_contents($dir . $f); } } } /* execute */ try { $database->executeMultipleQuerries($query); } catch (Exception $e) { $error = $e->getMessage(); updateLogTable('DB update failed', 'DB updated failed with error: ' . $error, 2); die('<div class="alert alert-error">Update error: ' . $error . '</div>'); } /* return true if we came to here */ sleep(1); updateLogTable('DB updated', 'DB updated from version ' . $version . ' to version ' . VERSION, 1); return true; }
/** * Move IP address to new subnet - for subnet splitting */ function moveIPAddress($id, $subnetId) { global $database; /* set query, open db connection and fetch results */ $query = 'update `ipaddresses` set `subnetId` = "' . $subnetId . '" where `id` = "' . $id . '";'; /* execute */ try { $database->executeQuery($query); } catch (Exception $e) { $error = $e->getMessage(); } # ok if (!isset($error)) { updateLogTable('IP address move ok', "id: {$id}\nsubnetId: {$subnetId}", 0); # write success log print "<div class='alert alert-danger'>" . _('Error') . ": {$error}</div>"; return true; } else { updateLogTable('IP address move error', "id: {$id}\nsubnetId: {$subnetId}", 2); # write error log return false; } }
/** * install databases */ function installDatabase($rootuser, $rootpass, $dropdb = false, $createdb = true, $creategrants = true) { global $db; error_reporting(E_ERROR); # open connection $databaseRoot = new database($db['host'], $rootuser, $rootpass, null, null, false); /* Check connection */ if ($databaseRoot->connect_error) { die('<div class="alert alert-danger">Connect Error (' . $databaseRoot->connect_errno . '): ' . $databaseRoot->connect_error) . "</div>"; } /* first drop database if requested */ if ($dropdb) { $query = "drop database " . $db['name'] . ";"; /* execute */ try { $databaseRoot->executeQuery($query); } catch (Exception $e) { $error = $e->getMessage(); die('<div class="alert alert-danger">' . $error . '</div>'); } } /* first create database if requested */ if ($createdb) { $query = "create database " . $db['name'] . ";"; /* execute */ try { $databaseRoot->executeQuery($query); } catch (Exception $e) { $error = $e->getMessage(); die('<div class="alert alert-danger">' . $error . '</div>'); } } /* select database */ $databaseRoot->selectDatabase($db['name']); /* set permissions! */ if ($creategrants) { $query = 'grant ALL on ' . $db['name'] . '.* to ' . $db['user'] . '@localhost identified by "' . $db['pass'] . '";'; /* execute */ try { $databaseRoot->executeQuery($query); } catch (Exception $e) { $error = $e->getMessage(); die('<div class="alert alert-danger">Cannot set permissions for user ' . $db['user'] . ': ' . $error . '</div>'); } } /* try importing SCHEMA file */ $query = file_get_contents("../../db/SCHEMA.sql"); /* execute */ try { $databaseRoot->executeMultipleQuerries($query); } catch (Exception $e) { $error = $e->getMessage(); # drop database! $query = "UNLOCK TABLES; drop database " . $db['name'] . ";"; try { $databaseRoot->executeMultipleQuerries($query); } catch (Exception $e) { $error = $e->getMessage(); die('<div class="alert alert-danger">Cannot set permissions for user ' . $db['user'] . ': ' . $error . '</div>'); } print '<div class="alert alert-danger">Cannot install sql SCHEMA file: ' . $error . '</div>'; return false; } /* return true, if some errors occured script already died! */ sleep(1); updateLogTable('Database installed successfully!', "version " . VERSION . "." . REVISION . " installed", 1); return true; }
if ($ip['action'] == "add") { if (checkDuplicate($ip['ip_addr'], $ip['subnetId'])) { die('<div class="alert alert-danger">' . _('IP address') . ' ' . $ip['ip_addr'] . ' ' . _('already existing in database') . '!</div>'); } } /* check for duplicate entry on edit! */ if ($ip['action'] == "edit") { # if IP is the same than it can already exist! if ($ip['ip_addr'] != $_REQUEST['ip_addr_old']) { if (checkDuplicate($ip['ip_addr'], $ip['subnetId'])) { die('<div class="alert alert-danger">' . _('IP address') . ' ' . $ip['ip_addr'] . ' ' . _('already existing in database') . '!</div>'); } } } /* move checks */ if ($ip['action'] == "move") { # check if not already used in new subnet if (checkDuplicate($ip['ip_addr'], $ip['newSubnet'])) { die('<div class="alert alert-danger">' . _('Duplicate IP address') . ' ' . $ip['ip_addr'] . ' ' . _('already existing in selected network') . '!</div>'); } } /* execute insert / update / delete query */ if (!modifyIpAddress($ip)) { print '<div class="alert alert-danger">' . _('Error inserting IP address') . '!</div>'; updateLogTable('Error ' . $ip['action'] . ' IP address ' . $ip['ip_addr'], 'Error ' . $ip['action'] . ' IP address ' . $ip['ip_addr'] . '<br>SubnetId: ' . $ip['subnetId'], 2); } else { print '<div class="alert alert-success">' . _("IP {$ip['action']} successful") . '!</div>'; updateLogTable($ip['action'] . ' of IP address ' . $ip['ip_addr'] . ' succesfull!', $ip['action'] . ' of IP address ' . $ip['ip_addr'] . ' succesfull!<br>SubnetId: ' . $ip['subnetId'], 0); } } }
/** * Send IP result mail - reject or confirm reservation */ function sendIPResultEmail($request) { # get settings global $settings; global $mail; # set subject based on action if ($request['action'] == "accept") { $subject = _("IP address request") . " (" . Transform2long($request['ip_addr']) . ") " . _("{$request['action']}ed"); } else { $subject = _("IP address request {$request['action']}ed"); } # set additional headers $mail['recipients'] = $request['requester']; // it is sent to requester this time! $mail['subject'] = $subject; # add admins to CC $admins = getAllAdminUsers(); $cc = ""; foreach ($admins as $admin) { $cc .= '' . $admin['email'] . ', '; } $cc = substr($cc, 0, -2); $mail['headers'] .= 'Cc: ' . $cc . "\r\n"; # get active user name */ $sender = getActiveUserDetails(); # get subnet details $subnet = getSubnetDetailsById($request['subnetId']); $subnet2 = Transform2long($subnet['subnet']) . "/" . $subnet['mask']; # get section detaiils $section = getSectionDetailsById($subnet['sectionId']); # reformat \n to breaks $request['comment'] = str_replace("\n", "<br>", $request['comment']); $request['adminComment'] = str_replace("\n", "<br>", $request['adminComment']); # set html content if ($settings['htmlMail'] == "1") { $mail['content'] = $mail['header']; $mail['content'] .= "<tr><td style='padding:5px;margin:0px;color:#333;font-size:16px;text-shadow:1px 1px 1px white;border-bottom:1px solid #eeeeee;' colspan='2'><font face='Helvetica, Verdana, Arial, sans-serif' style='font-size:16px;'>{$subject}</font></td></tr>"; $mail['content'] .= '<tr><td style="padding: 0px;padding-left:10px;margin:0px;line-height:18px;text-align:left;border-top:1px solid white;padding-top:10px;"><font face="Helvetica, Verdana, Arial, sans-serif" style="font-size:13px;">• ' . _('Section') . ' </font></td><td style="padding: 0px;padding-left:10px;margin:0px;line-height:18px;text-align:left;border-top:1px solid white;padding-top:10px;"><font face="Helvetica, Verdana, Arial, sans-serif" style="font-size:13px;">' . $section['name'] . ' (' . $section['description'] . ')</font></td></tr>' . "\n"; $mail['content'] .= '<tr><td style="padding: 0px;padding-left:10px;margin:0px;line-height:18px;text-align:left;"><font face="Helvetica, Verdana, Arial, sans-serif" style="font-size:13px;">• ' . _('Subnet') . ' </font></td> <td style="padding: 0px;padding-left:10px;margin:0px;line-height:18px;text-align:left;"><font face="Helvetica, Verdana, Arial, sans-serif" style="font-size:13px;">' . $subnet2 . '</font></td></tr>' . "\n"; if ($request['action'] == "accept") { $mail['content'] .= '<tr><td style="padding: 0px;padding-left:10px;margin:0px;line-height:18px;text-align:left;"><font face="Helvetica, Verdana, Arial, sans-serif" style="font-size:13px;">• ' . _('assigned IP address') . ' </font></td> <td style="padding: 0px;padding-left:10px;margin:0px;line-height:18px;text-align:left;"><font face="Helvetica, Verdana, Arial, sans-serif" style="font-size:13px;">' . Transform2long($request['ip_addr']) . '</font></td></tr>' . "\n"; } $mail['content'] .= '<tr><td style="padding: 0px;padding-left:10px;margin:0px;line-height:18px;text-align:left;"><font face="Helvetica, Verdana, Arial, sans-serif" style="font-size:13px;">• ' . _('Description') . ' </font></td> <td style="padding: 0px;padding-left:10px;margin:0px;line-height:18px;text-align:left;"><font face="Helvetica, Verdana, Arial, sans-serif" style="font-size:13px;">' . $request['description'] . '</font></td></tr>' . "\n"; $mail['content'] .= '<tr><td style="padding: 0px;padding-left:10px;margin:0px;line-height:18px;text-align:left;"><font face="Helvetica, Verdana, Arial, sans-serif" style="font-size:13px;">• ' . _('Hostname') . ' </font></td> <td style="padding: 0px;padding-left:10px;margin:0px;line-height:18px;text-align:left;"><font face="Helvetica, Verdana, Arial, sans-serif" style="font-size:13px;">' . $request['dns_name'] . '</font></td></tr>' . "\n"; $mail['content'] .= '<tr><td style="padding: 0px;padding-left:10px;margin:0px;line-height:18px;text-align:left;"><font face="Helvetica, Verdana, Arial, sans-serif" style="font-size:13px;">• ' . _('Owner') . ' </font></td> <td style="padding: 0px;padding-left:10px;margin:0px;line-height:18px;text-align:left;"><font face="Helvetica, Verdana, Arial, sans-serif" style="font-size:13px;">' . $request['owner'] . '</font></td></tr>' . "\n"; $mail['content'] .= '<tr><td style="padding: 0px;padding-left:10px;margin:0px;line-height:18px;text-align:left;"><font face="Helvetica, Verdana, Arial, sans-serif" style="font-size:13px;">• ' . _('Requested from') . ' </font></td> <td style="padding: 0px;padding-left:10px;margin:0px;line-height:18px;text-align:left;"><font face="Helvetica, Verdana, Arial, sans-serif" style="font-size:13px;"><a href="mailto:' . $request['requester'] . '" style="color:#08c;">' . $request['requester'] . '</a></font></td></tr>' . "\n"; $mail['content'] .= '<tr><td style="padding: 0px;padding-left:10px;margin:0px;line-height:18px;text-align:left;vertical-align:top;"><font face="Helvetica, Verdana, Arial, sans-serif" style="font-size:13px;">• ' . _('Comment (request)') . ' </font></td> <td style="padding: 0px;padding-left:10px;margin:0px;line-height:18px;text-align:left;"><font face="Helvetica, Verdana, Arial, sans-serif" style="font-size:13px;">' . $request['comment'] . '</font></td></tr>' . "\n"; $mail['content'] .= '<tr><td style="padding: 0px;padding-left:10px;margin:0px;line-height:18px;text-align:left;vertical-align:top;"><font face="Helvetica, Verdana, Arial, sans-serif" style="font-size:13px;">• ' . _('Admin accept/reject comment') . ' </font></td> <td style="padding: 0px;padding-left:10px;margin:0px;line-height:18px;text-align:left;"><font face="Helvetica, Verdana, Arial, sans-serif" style="font-size:13px; font-weight:bold;">' . $request['adminComment'] . '</font></td></tr>' . "\n"; $mail['content'] .= "<tr><td style='padding:5px;padding-left:15px;margin:0px;font-style:italic;padding-bottom:3px;text-align:right;color:#ccc;text-shadow:1px 1px 1px white;border-top:1px solid white;' colspan='2'><font face='Helvetica, Verdana, Arial, sans-serif' style='font-size:11px;'>" . _('Sent by user') . " " . $mail['sender']['real_name'] . " at " . date('Y/m/d H:i') . "</font></td></tr>"; $mail['content'] .= $mail['footer2']; } else { # reformat content $content = str_replace("<br>", "\r\n", $content); $content = str_replace("\t", " ", $content); $content = strip_tags($content); # reformat content $request['comment'] = str_replace("<br>", "\r\n", $request['comment']); $request['adminComment'] = str_replace("<br>", "\r\n", $request['adminComment']); $mail['content'] = $mail['header']; $mail['content'] .= "{$subject}" . "\r\n------------------------------\r\n\r\n"; $mail['content'] .= _("Section") . ": {$section['name']} ({$section['description']})\r\n"; $mail['content'] .= _("Subnet") . ": {$subnet2}\r\n"; if ($request['action'] == "accept") { $mail['content'] .= _("Assigned IP address") . ": " . Transform2long($request['ip_addr']) . "\r\n"; } $mail['content'] .= _("Description") . ": {$request['description']}\r\n"; $mail['content'] .= _("Hostname") . ": {$request['dns_name']}\r\n"; $mail['content'] .= _("Owner") . ": {$request['owner']}\r\n"; $mail['content'] .= _("Requested by") . ": {$request['requester']}\r\n"; $mail['content'] .= _("Comment (request)") . ": {$request['comment']}\r\n"; $mail['content'] .= _("Admin accept/reject comment") . ": {$request['adminComment']}\r\n"; $mail['content'] .= "\r\nSent by user " . $mail['sender']['real_name'] . " at " . date('Y/m/d H:i'); $mail['content'] .= $mail['footer']; # reset headers $mail['headers'] = 'From: ' . $mail['from'] . "\r\n"; $mail['headers'] .= 'Reply-To: ' . $settings['siteAdminMail'] . "\r\n"; $mail['headers'] .= 'X-Mailer: PHP/' . phpversion() . "\r\n"; $mail['headers'] .= 'Cc: ' . $cc . "\r\n"; } # send mail and update log if (!mail($mail['recipients'], $mail['subject'], $mail['content'], $mail['headers'])) { # write log updateLogTable("IP request response mail (confirm,reject) sending failed", "Sending notification mail to {$mail['recipients']} failed!", $severity = 2); return false; } else { # write log updateLogTable("IP request response mail (confirm,reject) sent ok", "Sending notification mail to {$mail['recipients']} succeeded!", $severity = 0); return true; } }
* Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ $max_view_length = 10; $page = 1; $total_pages = 1; $defaultPage = "index.php?p=6"; //Check if request was recieved for error_logs.php if (isset($array['logs'])) { //Handle request $isUpdateLogFormRequest = true; try { updateLogTable($array); $success = true; $error_message = ""; } catch (Exception $exc) { $success = false; $error_message = $exc->getMessage(); } } //Set page number $p = filter_input(INPUT_GET, "pg"); if ($p != null && $p != FALSE) { $page = $p; } //Set fixed and unfixed log $logs = getAllErrorLogs(); $pending = array();
</a> </div> </div> </div> <!-- content --> <div class="content_overlay"> <div class="container-fluid" id="mainContainer"> <?php /* logout? */ if (isset($_SESSION['ipamusername'])) { # destroy session session_destroy(); # update table updateLogTable('User has logged out', 0); # set logout flag or timeout flag if (@$_GET['section'] == "timeout") { $timeout = true; } else { $logout = true; } } # set default language if (isset($settings['defaultLang']) && !is_null($settings['defaultLang'])) { # get language $lang = getLangById($settings['defaultLang']); putenv("LC_ALL={$lang['l_code']}"); setlocale(LC_ALL, $lang['l_code']); // set language bindtextdomain("phpipam", "./functions/locale");
<?php /* if title is missing set it to install */ if (!$settings['siteTitle']) { $settings['siteTitle'] = "phpipam IP management installation"; } /* destroy session */ if ($_REQUEST['page'] == "logout") { updateLogTable('User ' . $_SESSION['ipamusername'] . ' has logged out', 0); } /* destroy session */ session_start(); session_destroy(); # set default language if (isset($settings['defaultLang']) && !is_null($settings['defaultLang'])) { # get language $lang = getLangById($settings['defaultLang']); putenv("LC_ALL={$lang['l_code']}"); setlocale(LC_ALL, $lang['l_code']); // set language bindtextdomain("phpipam", "./functions/locale"); // Specify location of translation tables textdomain("phpipam"); // Choose domain } ?> <?php if ($_REQUEST['page'] == "login" || $_REQUEST['page'] == "logout") { include_once 'loginForm.php'; } else {