示例#1
0
function GetPropertyValues($resource, $propname, $propvalue)
{
    $SYSLOG = SYSLOG::getInstance();
    $result = new XajaxResponse();
    $values = $SYSLOG->GetResourcePropertyValues($resource, $propname);
    if (empty($values) || count($values) > 19) {
        $result->assign('propertyvaluedata', 'innerHTML', '<input type="text" size="20" name="propertyvalue" id="propertyvalue"' . (strlen($propvalue) ? ' value="' . $propvalue . '"' : '') . '>');
    } else {
        $options = '<SELECT size="1" name="propertyvalue" id="propertyvalue">';
        $options .= '<OPTION value="">' . trans('- all -') . '</OPTION>';
        foreach ($values as $value) {
            $data = array('resource' => $resource, 'name' => $propname, 'value' => $value);
            $SYSLOG->DecodeMessageData($data);
            $options .= '<OPTION value="' . $value . '"' . (strlen($propvalue) && $propvalue == $value ? ' selected' : '') . '>' . (strlen($data['value']) > 50 ? substr($data['value'], 0, 50) . '...' : $data['value']) . '</OPTION>';
        }
        $options .= '</SELECT>';
        $result->assign('propertyvaluedata', 'innerHTML', $options);
    }
    return $result;
}
示例#2
0
 public function updateNodeField($nodeid, $field, $value)
 {
     $nodeid = (int) $nodeid;
     $field = strtolower($field);
     $error_msg = 0;
     switch ($field) {
         case 'authtype':
             if (!is_numeric($value)) {
                 $error_msg = "Value isn't a number";
             } else {
                 global $SESSIONTYPES;
                 $value = (int) $value;
                 $tmp = 0;
                 foreach ($SESSIONTYPES as $k => $v) {
                     if ($value & $k) {
                         $tmp += $k;
                     }
                 }
                 $value = $tmp;
             }
             break;
         case 'nas':
         case 'halfduplex':
         case 'chkmac':
             $value = $value == 1 ? 1 : 0;
             break;
         default:
             $error_msg = "Unknown field name.";
     }
     $SYSLOG = SYSLOG::getInstance();
     if ($SYSLOG) {
         $args = array(SYSLOG::RES_NODE => $nodeid, 'field' => $field, 'value' => $value);
         $SYSLOG->AddMessage(SYSLOG::RES_NODE, SYSLOG::OPER_UPDATE, $args);
     }
     if (!$error) {
         $this->db->Execute('UPDATE nodes SET ' . $field . ' = ? WHERE id = ?;', array($value, $nodeid));
     } else {
         return $error_msg;
     }
 }
示例#3
0
文件: lms-pna.php 项目: prezeskk/lms
}
// Init database
$DB = null;
try {
    $DB = LMSDB::getInstance();
} catch (Exception $ex) {
    trigger_error($ex->getMessage(), E_USER_WARNING);
    // can't working without database
    die("Fatal error: cannot connect to database!" . PHP_EOL);
}
// Include required files (including sequence is important)
require_once LIB_DIR . DIRECTORY_SEPARATOR . 'common.php';
require_once LIB_DIR . DIRECTORY_SEPARATOR . 'language.php';
include_once LIB_DIR . DIRECTORY_SEPARATOR . 'definitions.php';
require_once LIB_DIR . DIRECTORY_SEPARATOR . 'unstrip.php';
$SYSLOG = SYSLOG::getInstance();
// Initialize Session, Auth and LMS classes
$AUTH = NULL;
$LMS = new LMS($DB, $AUTH, $SYSLOG);
$LMS->ui_lang = $_ui_language;
$LMS->lang = $_language;
define('PNA', 0);
define('CITY', 1);
define('STREET', 2);
define('HOUSE', 3);
define('BOROUGH', 4);
define('DISTRICT', 5);
define('STATE', 6);
$states = array(2 => 'dolnosląskie', 4 => 'kujawsko-pomorskie', 6 => 'lubelskie', 8 => 'lubuskie', 10 => 'łódzkie', 12 => 'małopolskie', 14 => 'mazowieckie', 16 => 'opolskie', 18 => 'podkarpackie', 20 => 'podlaskie', 22 => 'pomorskie', 24 => 'śląskie', 26 => 'świętokrzyskie', 28 => 'warmińsko-mazurskie', 30 => 'wielkopolskie', 32 => 'zachodniopomorskie');
$list = array_key_exists('list', $options) ? $options['list'] : '';
if (preg_match('/^[0-9]+(,[0-9]+)*$/', $list)) {
示例#4
0
 public function __construct(&$DB, &$SESSION)
 {
     self::$auth = $this;
     $this->DB =& $DB;
     $this->SESSION =& $SESSION;
     $this->SYSLOG = SYSLOG::getInstance();
     //$this->_revision = preg_replace('/^.Revision: ([0-9.]+).*/', '\1', $this->_revision);
     $this->_revision = '';
     if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
         $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
     } elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {
         $ip = $_SERVER['HTTP_CLIENT_IP'];
     } else {
         $ip = $_SERVER['REMOTE_ADDR'];
     }
     $this->ip = str_replace('::ffff:', '', $ip);
     if (isset($_GET['override'])) {
         $loginform = $_GET['loginform'];
     } elseif (isset($_POST['loginform'])) {
         $loginform = $_POST['loginform'];
     }
     $this->SESSION->restore('session_login', $this->login);
     if ($this->login) {
         $this->islogged = TRUE;
     } elseif (isset($loginform)) {
         $this->login = $loginform['login'];
         $this->passwd = $loginform['pwd'];
         writesyslog('Login attempt by ' . $this->login, LOG_INFO);
     } elseif ($this->DB->GetOne('SELECT COUNT(id) FROM users') == 0) {
         $this->islogged = TRUE;
         $this->nousers = TRUE;
         $_GET['m'] = 'useradd';
         return TRUE;
     }
     if ($this->islogged || $this->login && $this->VerifyUser()) {
         $this->SESSION->restore('session_passwdrequiredchange', $this->passwdrequiredchange);
         if (empty($this->last)) {
             $this->SESSION->restore('session_last', $this->last);
             $this->SESSION->restore('session_lastip', $this->lastip);
         }
         $this->logname = $this->logname ? $this->logname : $this->SESSION->get('session_logname');
         $this->id = $this->id ? $this->id : $this->SESSION->get('session_id');
         if (isset($loginform)) {
             $this->DB->Execute('UPDATE users SET lastlogindate=?, lastloginip=? WHERE id=?', array(time(), $this->ip, $this->id));
             writesyslog('User ' . $this->login . ' logged in.', LOG_INFO);
             if ($this->SYSLOG) {
                 $this->SYSLOG->NewTransaction('auth', $this->id);
                 $this->SYSLOG->AddMessage(SYSLOG::RES_USER, SYSLOG::OPER_USERLOGIN, array(SYSLOG::RES_USER => $this->id, 'ip' => $this->ip, 'useragent' => $_SERVER['HTTP_USER_AGENT']));
             }
         }
         $this->SESSION->save('session_id', $this->id);
         $this->SESSION->save('session_login', $this->login);
         $this->SESSION->restore_user_settings();
         $this->SESSION->save('session_logname', $this->logname);
         $this->SESSION->save('session_last', $this->last);
         $this->SESSION->save('session_lastip', $this->lastip);
     } else {
         if (isset($loginform)) {
             if ($this->id) {
                 if (!$this->hostverified) {
                     writesyslog('Bad host (' . $this->ip . ') for ' . $this->login, LOG_WARNING);
                 }
                 if (!$this->passverified) {
                     writesyslog('Bad password for ' . $this->login, LOG_WARNING);
                 }
                 $this->DB->Execute('UPDATE users SET failedlogindate=?, failedloginip=? WHERE id = ?', array(time(), $this->ip, $this->id));
                 if ($this->SYSLOG) {
                     $this->SYSLOG->NewTransaction('auth', $this->id);
                     $this->SYSLOG->AddMessage(SYSLOG::RES_USER, SYSLOG::OPER_USERLOGFAIL, array(SYSLOG::RES_USER => $this->id, 'ip' => $this->ip, 'useragent' => $_SERVER['HTTP_USER_AGENT']));
                 }
             } else {
                 writesyslog('Unknown login ' . $this->login . ' from ' . $this->ip, LOG_WARNING);
             }
         }
         if (!$this->error) {
             $this->error = trans('Please login.');
         }
         $this->LogOut();
     }
 }