Esempio n. 1
0
/**
 * 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'));
    }
}
Esempio n. 2
0
 $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']);
Esempio n. 3
0
/**
 * 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;
}
Esempio n. 4
0
    $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';
Esempio n. 5
0
/**
 * 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;
}
Esempio n. 6
0
/**
 *	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;
}
Esempio n. 7
0
/**
 *	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;
}
Esempio n. 8
0
/**
 * 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;
}
Esempio n. 9
0
/**
 * 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;
    }
}
Esempio n. 10
0
/**
 * 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;
}
Esempio n. 11
0
        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);
        }
    }
}
Esempio n. 12
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;">&bull; ' . _('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;">&bull; ' . _('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;">&bull; ' . _('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;">&bull; ' . _('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;">&bull; ' . _('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;">&bull; ' . _('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;">&bull; ' . _('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;">&bull; ' . _('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;">&bull; ' . _('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;
    }
}
Esempio n. 13
0
 * 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();
Esempio n. 14
0
</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");
Esempio n. 15
0
<?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 {