コード例 #1
0
<div class="login-form">
	<?php 
if (isset($_GET['action']) && $_GET['action'] == "login") {
    if ($_POST['username'] != "" && $_POST['password'] != "") {
        $username = $_POST['username'];
        $password = $_POST['password'];
        if (userExists($username)) {
            if (!userIsDisabled($username)) {
                $email_status = getUserInfo($_POST['username'], 'email-status');
                if ($email_status == 'verified') {
                    if (checkUserPassword($username, $password)) {
                        echo '<p>Username and password correct!</p>';
                        logUserIn($username, $password);
                        header('Location: ./');
                    } else {
                        echo '<p>Incorrect username or password.</p>';
                    }
                } else {
                    echo '<p>Please verify your account to login.<br/>Check your email.</p>';
                }
            } else {
                echo '<p>Your account has been disabled.</p>';
            }
        } else {
            echo '<p>Incorrect username or password.</p>';
        }
    } else {
        echo '<p>Please enter your username & password.</p>';
    }
    ?>
 <a href="./?page=login">Go Back</a> <?php 
コード例 #2
0
ファイル: mikrotikppp.php プロジェクト: carriercomm/Nuance
 public function update($userid)
 {
     if ($this->connected) {
         $resource = $this->checkConnection();
         $majorVersion = intval($resource['version'][0]);
         $usersTable = new table('user');
         $usersRes = $usersTable->load(" WHERE id={$userid}");
         if (!$usersRes) {
             return;
         }
         foreach ($usersRes as $devuserrow) {
             $syncData = array("/ip/firewall/address-list" => array(), "/queue/simple" => array(), "/ppp/secret" => array());
             $userId = '' . $devuserrow['id'];
             $useraddr = json_decode($devuserrow['iplist'], true);
             //	Address list section
             $currentTariff = getCurrentTariff($devuserrow['id'], $usersTable);
             if ($currentTariff) {
                 $currentTariff = $currentTariff['detailsid'];
             }
             if (empty($useraddr) || $useraddr == NULL) {
                 return true;
             }
             $ipList = array();
             foreach ($useraddr as $ip => $mac) {
                 $ipList[] = $ip;
             }
             if (userIsDisabled($userid, $usersTable)) {
                 $addrlist = 'disabled';
             } else {
                 $addrlist = $currentTariff ? 'allow' : 'deny';
             }
             if (count($ipList) === 2) {
                 $syncData["/ip/firewall/address-list"][$userId][] = array("list" => $addrlist, "address" => $ipList[1]);
             }
             //	Queque section
             if ($currentTariff) {
                 $tariffTable = new table('tariff');
                 $utariffres = $tariffTable->load("WHERE id={$currentTariff}");
                 $utariffrow = $utariffres[0];
                 if ($utariffrow) {
                     // Select right target addresses index
                     if ($majorVersion === 5) {
                         $addressIndex = 'target-addresses';
                     } else {
                         $addressIndex = 'target';
                     }
                     // Normal / day
                     if (pluginExists('night') && ($utariffrow['nightupspeed'] || $utariffrow['nightdownspeed'])) {
                         $dayTime = $this->calculateMikrotikTime(configgetvalue('system', 'tariff', NULL, 'nightHourEnd'));
                         $dayTime .= '-1d';
                         //$dayTime .= '-'.$this->calculateMikrotikTime ( configgetvalue('system', 'tariff', NULL, 'nightHourStart') );
                         $dayTime .= ',sun,mon,tue,wed,thu,fri,sat';
                     } else {
                         $dayTime = '0s-1d,sun,mon,tue,wed,thu,fri,sat';
                     }
                     // Burst
                     if (pluginExists('burst') && ($utariffrow['downburstlimit'] && $utariffrow['upburstlimit'] && $utariffrow['downburstthreshold'] && $utariffrow['upburstthreshold'] && $utariffrow['downbursttime'] && $utariffrow['upbursttime'])) {
                         $burstLimit = $utariffrow['upburstlimit'] . '/' . $utariffrow['downburstlimit'];
                         $burstThreshold = $utariffrow['upburstthreshold'] . '/' . $utariffrow['downburstthreshold'];
                         $burstTime = $utariffrow['upbursttime'] . '/' . $utariffrow['downbursttime'];
                     } else {
                         $burstLimit = "0/0";
                         $burstThreshold = "0/0";
                         $burstTime = "0s/0s";
                     }
                     $useraddr = json_decode($devuserrow['iplist'], true);
                     $responce = $this->API->comm('/queue/simple/print', array('?name' => $userid));
                     $ipList = array();
                     foreach ($useraddr as $ip => $mac) {
                         $ipList[] = $ip . "/32";
                     }
                     if (count($ipList) === 2) {
                         $syncData["/queue/simple"][$userId][] = array("limit-at" => $utariffrow['upspeed'] . "/" . $utariffrow['downspeed'], "max-limit" => $utariffrow['upspeed'] . "/" . $utariffrow['downspeed'], $addressIndex => $ipList[1], "name" => $userId, "time" => $dayTime, "burst-limit" => $burstLimit, "burst-threshold" => $burstThreshold, "burst-time" => $burstTime);
                     }
                     // Night
                     $responce = $this->API->comm('/queue/simple/print', array('?name' => "{$userid}-night"));
                     if (pluginExists('night') && ($utariffrow['nightupspeed'] || $utariffrow['nightdownspeed'])) {
                         $useraddr = json_decode($devuserrow['iplist'], true);
                         $ipList = array();
                         foreach ($useraddr as $ip => $mac) {
                             $ipList[] = $ip . "/32";
                         }
                         //$time  = $this->calculateMikrotikTime ( configgetvalue('system', 'tariff', NULL, 'nightHourStart') );
                         $time = '0s';
                         $time .= '-' . $this->calculateMikrotikTime(configgetvalue('system', 'tariff', NULL, 'nightHourEnd'));
                         $time .= ',sun,mon,tue,wed,thu,fri,sat';
                         if (count($ipList) == 2) {
                             $syncData["/queue/simple"][$userId][] = array("limit-at" => $utariffrow['nightupspeed'] . "/" . $utariffrow['nightdownspeed'], "max-limit" => $utariffrow['nightupspeed'] . "/" . $utariffrow['nightdownspeed'], $addressIndex => $ipList[1], "name" => $userId . '-night', "time" => $time, "burst-limit" => $burstLimit, "burst-threshold" => $burstThreshold, "burst-time" => $burstTime);
                         }
                     } else {
                         if (count($responce)) {
                             $this->API->comm("/queue/simple/remove", array(".id" => $responce[0]['.id']));
                         }
                     }
                 }
             }
             //	PPP section
             //
             $useraddr = json_decode($devuserrow['iplist'], true);
             $response = $this->API->comm('/ppp/secret/print', array('?comment' => $userid));
             $ipList = array();
             $disableSecretsForDisabledUsers = configgetvalue('router', 'ppp', $this->id, 'disablePPPSecretsOfBlockedUsers');
             $disabledState = $devuserrow['disabled'] == '1' && $disableSecretsForDisabledUsers ? 'yes' : 'no';
             foreach ($useraddr as $ip => $mac) {
                 $ipList[] = $ip;
             }
             if (count($ipList) === 2) {
                 $syncData["/ppp/secret"][$userId][] = array("service" => "any", "profile" => "default", "local-address" => $ipList[0], "remote-address" => $ipList[1], "disabled" => $disabledState, "name" => $devuserrow['login'], "password" => $devuserrow['password']);
             }
         }
         $this->sync($syncData);
         return $this->checkConnection();
     }
 }
コード例 #3
0
ファイル: mikrotik.php プロジェクト: carriercomm/Nuance
 public function update($userid)
 {
     if ($this->connected) {
         $resource = $this->checkConnection();
         $majorVersion = intval($resource['version'][0]);
         $usersTable = new table('user');
         $usersRes = $usersTable->load(" WHERE id={$userid}");
         if (!$usersRes) {
             return;
         }
         $syncData = array("/ip/firewall/address-list" => array(), "/ip/firewall/filter" => array(), "/ip/firewall/mangle" => array(), "/ip/arp" => array(), "/queue/simple" => array(), "/ip/dhcp-server/lease" => array());
         foreach ($usersRes as $devuserrow) {
             $userId = '' . $devuserrow['id'];
             foreach ($syncData as $key => $value) {
                 $syncData[$key][$userId] = array();
             }
             $useraddr = json_decode($devuserrow['iplist'], true);
             //	Address list section
             foreach ($useraddr as $ip => $mac) {
                 if (strlen($mac)) {
                     $mac = strtoupper($mac);
                     $useraddr[$ip] = preg_replace('/..(?!$)/', '$0:', strtoupper($mac));
                 }
             }
             $currentTariff = getCurrentTariff($devuserrow['id'], $usersTable);
             if ($currentTariff) {
                 $currentTariff = $currentTariff['detailsid'];
             }
             if (empty($useraddr) || $useraddr == NULL) {
                 return true;
             }
             if (userIsDisabled($devuserrow['id'], $usersTable)) {
                 $addrlist = 'disabled';
             } else {
                 $addrlist = $currentTariff ? 'allow' : 'deny';
             }
             foreach ($useraddr as $key => $value) {
                 $syncData["/ip/firewall/address-list"][$userId][] = array("list" => $addrlist, "address" => $key);
             }
             //	MAC-filter	section
             $macFilterType = configgetvalue('router', 'main', $this->id, 'filterType');
             switch ($macFilterType) {
                 case 1:
                     $inInterface = configgetvalue('router', 'main', $this->id, 'inInterface');
                     foreach ($useraddr as $ip => $mac) {
                         if (strlen($mac)) {
                             $syncData["/ip/arp"][$userId][] = array("mac-address" => $mac, "address" => $ip, "interface" => $inInterface);
                         }
                     }
                     break;
                 case 2:
                     foreach ($useraddr as $ip => $mac) {
                         if (strlen($mac)) {
                             $syncData["/ip/firewall/filter"][$userId][] = array("list" => $addrlist, "address" => $key, "action" => "drop", "chain" => "forward", "src-mac-address" => "!" . $mac, "src-address" => $ip);
                         }
                     }
                     break;
                 case 3:
                     foreach ($useraddr as $ip => $mac) {
                         if (strlen($mac)) {
                             $syncData["/ip/firewall/mangle"][$userId][] = array("action" => "mark-connection", "new-connection-mark" => "badmac", "chain" => "prerouting", "src-mac-address" => "!" . $mac, "src-address" => $ip);
                         }
                     }
                     break;
             }
             //	Queque section
             //
             if ($currentTariff) {
                 $tariffTable = new table('tariff');
                 $utariffres = $tariffTable->load("WHERE id={$currentTariff}");
                 $utariffrow = $utariffres[0];
                 if ($utariffrow) {
                     // Normal / day
                     if (pluginExists('night') && ($utariffrow['nightupspeed'] || $utariffrow['nightdownspeed'])) {
                         $dayTime = $this->calculateMikrotikTime(configgetvalue('system', 'tariff', NULL, 'nightHourEnd'));
                         $dayTime .= '-1d';
                         //$dayTime .= '-'.$this->calculateMikrotikTime ( configgetvalue('system', 'tariff', NULL, 'nightHourStart') );
                         $dayTime .= ',sun,mon,tue,wed,thu,fri,sat';
                     } else {
                         $dayTime = '0s-1d,sun,mon,tue,wed,thu,fri,sat';
                     }
                     // Burst
                     if (pluginExists('burst') && $utariffrow['downburstlimit'] && $utariffrow['upburstlimit'] && $utariffrow['downburstthreshold'] && $utariffrow['upburstthreshold'] && $utariffrow['downbursttime'] && $utariffrow['upbursttime']) {
                         $burstLimit = $utariffrow['upburstlimit'] . '/' . $utariffrow['downburstlimit'];
                         $burstThreshold = $utariffrow['upburstthreshold'] . '/' . $utariffrow['downburstthreshold'];
                         $burstTime = $utariffrow['upbursttime'] . '/' . $utariffrow['downbursttime'];
                     } else {
                         $burstLimit = "0/0";
                         $burstThreshold = "0/0";
                         $burstTime = "0s/0s";
                     }
                     // Speed
                     $speed = $utariffrow['upspeed'] . "/" . $utariffrow['downspeed'];
                     $useraddr = json_decode($devuserrow['iplist'], true);
                     $responce = $this->API->comm('/queue/simple/print', array('?name' => $userid));
                     //$addresslist=explode(',', $responce[0]['target-addresses']);
                     $ipList = array();
                     foreach ($useraddr as $ip => $mac) {
                         $ipList[] = $ip . "/32";
                     }
                     // Select right target addresses index
                     if ($majorVersion === 5) {
                         $addressIndex = 'target-addresses';
                     } else {
                         $addressIndex = 'target';
                     }
                     $dbadrr = implode(',', $ipList);
                     if (count($useraddr)) {
                         $syncData["/queue/simple"][$userId][] = array("limit-at" => $utariffrow['upspeed'] . "/" . $utariffrow['downspeed'], "max-limit" => $utariffrow['upspeed'] . "/" . $utariffrow['downspeed'], $addressIndex => $dbadrr, "name" => $userId, "time" => $dayTime, "burst-limit" => $burstLimit, "burst-threshold" => $burstThreshold, "burst-time" => $burstTime);
                     }
                     // Night
                     $responce = $this->API->comm('/queue/simple/print', array('?name' => "{$userid}-night"));
                     if (pluginExists('night') && ($utariffrow['nightupspeed'] || $utariffrow['nightdownspeed'])) {
                         $nightSpeed = $utariffrow['nightupspeed'] . "/" . $utariffrow['nightdownspeed'];
                         $useraddr = json_decode($devuserrow['iplist'], true);
                         $ipList = array();
                         foreach ($useraddr as $ip => $mac) {
                             $ipList[] = $ip . "/32";
                         }
                         $dbadrr = implode(',', $ipList);
                         //$time  = $this->calculateMikrotikTime ( configgetvalue('system', 'tariff', NULL, 'nightHourStart') );
                         $time = '0s';
                         $time .= '-' . $this->calculateMikrotikTime(configgetvalue('system', 'tariff', NULL, 'nightHourEnd'));
                         $time .= ',sun,mon,tue,wed,thu,fri,sat';
                         if (count($useraddr)) {
                             $syncData["/queue/simple"][$userId][] = array("limit-at" => $nightSpeed, "max-limit" => $nightSpeed, $addressIndex => $dbadrr, "name" => $userId . '-night', "time" => $time, "burst-limit" => $burstLimit, "burst-threshold" => $burstThreshold, "burst-time" => $burstTime);
                         }
                     }
                 }
             }
             //	DHCP section
             $useraddr = json_decode($devuserrow['iplist'], true);
             foreach ($useraddr as $key => $value) {
                 if ($useraddr[$key]) {
                     $useraddr[$key] = preg_replace('/..(?!$)/', '$0:', strtoupper($value));
                 }
             }
             foreach ($useraddr as $ip => $mac) {
                 if (strlen($mac)) {
                     $syncData["/ip/dhcp-server/lease"][$userId][] = array("address" => $ip, "mac-address" => $mac);
                 }
             }
             $this->sync($syncData);
             return $this->checkConnection();
         }
     }
 }