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; }
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; } }
} // 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)) {
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(); } }