Fixed Login for login.php and myhome.php.
This commit is contained in:
@@ -138,9 +138,9 @@ class OcSmarty extends Smarty
|
||||
|
||||
function display($dummy1=null, $dummy2=null, $dummy3=null)
|
||||
{
|
||||
global $opt, $db, $cookie, $menu, $sqldebugger, $translate;
|
||||
global $opt, $db, $menu, $sqldebugger, $translate;
|
||||
global $useragent_msie;
|
||||
$cookie->close();
|
||||
$GLOBALS['container']->get('ocde.cookie')->close();
|
||||
|
||||
// if the user is an admin, dont cache the content
|
||||
if ($GLOBALS['container']->get('ocde.login')->isAdmin()) {
|
||||
@@ -366,8 +366,8 @@ class OcSmarty extends Smarty
|
||||
|
||||
function redirect($page)
|
||||
{
|
||||
global $cookie, $opt;
|
||||
$cookie->close();
|
||||
global $opt;
|
||||
$GLOBALS['container']->get('ocde.cookie')->close();
|
||||
|
||||
// close db-connection
|
||||
sql_disconnect();
|
||||
@@ -438,7 +438,6 @@ class OcSmarty extends Smarty
|
||||
function header()
|
||||
{
|
||||
global $opt;
|
||||
global $cookie;
|
||||
|
||||
if ($opt['gui'] == GUI_HTML)
|
||||
{
|
||||
@@ -456,7 +455,7 @@ class OcSmarty extends Smarty
|
||||
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
|
||||
|
||||
// set the cookie
|
||||
$cookie->header();
|
||||
$GLOBALS['container']->get('ocde.cookie')->header();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -7,29 +7,28 @@
|
||||
* Constant definitions
|
||||
***************************************************************************/
|
||||
|
||||
define('GUI_HTML', 0);
|
||||
define('GUI_TEXT', 1);
|
||||
define('GUI_NUSOAP', 2);
|
||||
define('GUI_HTML', 0);
|
||||
define('GUI_TEXT', 1);
|
||||
define('GUI_NUSOAP', 2);
|
||||
|
||||
define('DEBUG_NO', 0);
|
||||
define('DEBUG_DEVELOPER', 1);
|
||||
define('DEBUG_TEMPLATES', 2);
|
||||
define('DEBUG_OUTOFSERVICE', 4 | DEBUG_TEMPLATES);
|
||||
define('DEBUG_TESTING', 8 | DEBUG_TEMPLATES);
|
||||
define('DEBUG_SQLDEBUGGER', 16);
|
||||
define('DEBUG_TRANSLATE', 32); // DEBUG_TEMPLATES added in common.inc.php
|
||||
define('DEBUG_FORCE_TRANSLATE', 64 | DEBUG_TRANSLATE);
|
||||
define('DEBUG_CLI', 128);
|
||||
define('DEBUG_NO', 0);
|
||||
define('DEBUG_DEVELOPER', 1);
|
||||
define('DEBUG_TEMPLATES', 2);
|
||||
define('DEBUG_OUTOFSERVICE', 4 | DEBUG_TEMPLATES);
|
||||
define('DEBUG_TESTING', 8 | DEBUG_TEMPLATES);
|
||||
define('DEBUG_SQLDEBUGGER', 16);
|
||||
define('DEBUG_TRANSLATE', 32); // DEBUG_TEMPLATES added in common.inc.php
|
||||
define('DEBUG_FORCE_TRANSLATE', 64 | DEBUG_TRANSLATE);
|
||||
define('DEBUG_CLI', 128);
|
||||
|
||||
define('PHP_DEBUG_OFF', 0);
|
||||
define('PHP_DEBUG_ON', 1);
|
||||
define('PHP_DEBUG_SKIP', -1);
|
||||
define('PHP_DEBUG_OFF', 0);
|
||||
define('PHP_DEBUG_ON', 1);
|
||||
define('PHP_DEBUG_SKIP', -1);
|
||||
|
||||
define('SAVE_COOKIE', 0);
|
||||
define('SAVE_SESSION', 1);
|
||||
define('SAVE_COOKIE', 0);
|
||||
define('SAVE_SESSION', 1);
|
||||
|
||||
define('DB_MODE_FRAMEWORK', 0);
|
||||
define('DB_MODE_BUSINESSLAYER', 1);
|
||||
define('DB_MODE_USER', 2);
|
||||
define('DB_DATE_FORMAT', '%Y-%m-%d %H:%M:%S');
|
||||
?>
|
||||
define('DB_MODE_FRAMEWORK', 0);
|
||||
define('DB_MODE_BUSINESSLAYER', 1);
|
||||
define('DB_MODE_USER', 2);
|
||||
define('DB_DATE_FORMAT', '%Y-%m-%d %H:%M:%S');
|
||||
|
||||
107
htdocs/login.php
107
htdocs/login.php
@@ -7,68 +7,65 @@
|
||||
* Display some status information about the server and Opencaching
|
||||
***************************************************************************/
|
||||
|
||||
$disable_verifyemail = true;
|
||||
require('./lib2/web.inc.php');
|
||||
$tpl->name = 'login';
|
||||
$tpl->menuitem = MNU_LOGIN;
|
||||
use \OpencachingDE\Auth\Login;
|
||||
|
||||
if (isset($_REQUEST['source']) && $opt['session']['login_statistics'])
|
||||
{
|
||||
sql("INSERT INTO `sys_login_stat` (`day`,`type`,`count`) VALUES (NOW(),'&1',1)
|
||||
ON DUPLICATE KEY UPDATE `count`=`count`+1",
|
||||
$_REQUEST['source']);
|
||||
}
|
||||
$disable_verifyemail = true;
|
||||
require('./lib2/web.inc.php');
|
||||
$tpl->name = 'login';
|
||||
$tpl->menuitem = MNU_LOGIN;
|
||||
|
||||
$login->verify();
|
||||
if (isset($_REQUEST['source']) && $opt['session']['login_statistics']) {
|
||||
sql("INSERT INTO `sys_login_stat` (`day`,`type`,`count`) VALUES (NOW(),'&1',1)
|
||||
ON DUPLICATE KEY UPDATE `count`=`count`+1",
|
||||
$_REQUEST['source']);
|
||||
}
|
||||
|
||||
$tpl->assign('error', LOGIN_OK);
|
||||
$GLOBALS['container']->get('ocde.login')->verify();
|
||||
|
||||
$target = isset($_REQUEST['target']) ? $_REQUEST['target'] : 'myhome.php';
|
||||
if (mb_strtolower(mb_substr($target, 0, 9)) == 'login.php')
|
||||
$target = 'myhome.php';
|
||||
$tpl->assign('error', Login::OK);
|
||||
|
||||
$action = isset($_REQUEST['action']) ? $_REQUEST['action'] : ''; // Ocprop
|
||||
$target = isset($_REQUEST['target']) ? $_REQUEST['target'] : 'myhome.php';
|
||||
if (mb_strtolower(mb_substr($target, 0, 9)) == 'login.php') {
|
||||
$target = 'myhome.php';
|
||||
}
|
||||
|
||||
if ($action == 'cookieverify')
|
||||
{
|
||||
// we should be logged in ... check if cookie is set ...
|
||||
if ($opt['session']['mode'] == SAVE_SESSION)
|
||||
{
|
||||
if (!isset($_REQUEST['SESSION']))
|
||||
$tpl->error(ERROR_NO_COOKIES);
|
||||
else
|
||||
$tpl->redirect($target);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!isset($_COOKIE[$opt['session']['cookiename'] . 'data']))
|
||||
$tpl->error(ERROR_NO_COOKIES);
|
||||
else
|
||||
$tpl->redirect($target);
|
||||
}
|
||||
}
|
||||
else if ($action == 'logout')
|
||||
{
|
||||
$login->logout();
|
||||
$tpl->assign('error', LOGIN_LOGOUT_OK);
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($login->userid != 0)
|
||||
$tpl->error(ERROR_ALREADY_LOGGEDIN);
|
||||
$action = isset($_REQUEST['action']) ? $_REQUEST['action'] : ''; // Ocprop
|
||||
|
||||
$username = isset($_POST['email']) ? $_POST['email'] : ''; // Ocprop
|
||||
$password = isset($_POST['password']) ? $_POST['password'] : ''; // Ocprop
|
||||
if ($action == 'cookieverify') {
|
||||
// we should be logged in ... check if cookie is set ...
|
||||
if ($opt['session']['mode'] == SAVE_SESSION) {
|
||||
if (!isset($_REQUEST['SESSION'])) {
|
||||
$tpl->error(ERROR_NO_COOKIES);
|
||||
} else {
|
||||
$tpl->redirect($target);
|
||||
}
|
||||
} else {
|
||||
if (!isset($_COOKIE[$opt['session']['cookiename'] . 'data'])) {
|
||||
$tpl->error(ERROR_NO_COOKIES);
|
||||
} else {
|
||||
$tpl->redirect($target);
|
||||
}
|
||||
}
|
||||
} else if ($action == 'logout') {
|
||||
$GLOBALS['container']->get('ocde.login')->logout();
|
||||
$tpl->assign('error', Login::LOGOUT_OK);
|
||||
} else {
|
||||
if ($GLOBALS['container']->get('ocde.login')->getUserId() != 0) {
|
||||
$tpl->error(ERROR_ALREADY_LOGGEDIN);
|
||||
}
|
||||
|
||||
$retval = $login->try_login($username, $password, null);
|
||||
$password = '';
|
||||
if ($retval == LOGIN_OK)
|
||||
$tpl->redirect('login.php?action=cookieverify&target=' . urlencode($target));
|
||||
$username = isset($_POST['email']) ? $_POST['email'] : ''; // Ocprop
|
||||
$password = isset($_POST['password']) ? $_POST['password'] : ''; // Ocprop
|
||||
|
||||
$tpl->assign('username', $username);
|
||||
$tpl->assign('error', $retval);
|
||||
}
|
||||
$tpl->assign('target', $target);
|
||||
$retval = $GLOBALS['container']->get('ocde.login')->tryLogin($username, $password, null);
|
||||
$password = '';
|
||||
if ($retval == Login::OK) {
|
||||
$tpl->redirect('login.php?action=cookieverify&target=' . urlencode($target));
|
||||
}
|
||||
|
||||
$tpl->display();
|
||||
?>
|
||||
$tpl->assign('username', $username);
|
||||
$tpl->assign('error', $retval);
|
||||
}
|
||||
$tpl->assign('target', $target);
|
||||
|
||||
$tpl->display();
|
||||
|
||||
@@ -10,21 +10,22 @@
|
||||
|
||||
$tpl->name = 'myhome';
|
||||
$tpl->menuitem = MNU_MYPROFILE_OVERVIEW;
|
||||
$login->verify();
|
||||
|
||||
if ($login->userid == 0)
|
||||
{
|
||||
$GLOBALS['container']->get('ocde.login')->verify();
|
||||
|
||||
if ($GLOBALS['container']->get('ocde.login')->getUserId() == 0) {
|
||||
die('REDIR');
|
||||
$tpl->redirect('login.php?target=myhome.php');
|
||||
}
|
||||
|
||||
//get user record
|
||||
$rsUser = sql("SELECT IFNULL(`stat_user`.`found`, 0) AS `found`, IFNULL(`stat_user`.`hidden`, 0) AS `hidden` FROM `user` LEFT JOIN `stat_user` ON `user`.`user_id`=`stat_user`.`user_id` WHERE `user`.`user_id`='&1' LIMIT 1", $login->userid);
|
||||
$rsUser = sql("SELECT IFNULL(`stat_user`.`found`, 0) AS `found`, IFNULL(`stat_user`.`hidden`, 0) AS `hidden` FROM `user` LEFT JOIN `stat_user` ON `user`.`user_id`=`stat_user`.`user_id` WHERE `user`.`user_id`='&1' LIMIT 1", $GLOBALS['container']->get('ocde.login')->getUserId());
|
||||
$rUser = sql_fetch_array($rsUser);
|
||||
sql_free_result($rsUser);
|
||||
$tpl->assign('found', $rUser['found']);
|
||||
|
||||
// locked/hidden caches are visible for the user and must be added to public stats
|
||||
$rUser['hidden'] += sql_value("SELECT COUNT(*) FROM `caches` WHERE `user_id`='&1' AND `status`=7", 0, $login->userid);
|
||||
$rUser['hidden'] += sql_value("SELECT COUNT(*) FROM `caches` WHERE `user_id`='&1' AND `status`=7", 0, $GLOBALS['container']->get('ocde.login')->getUserId());
|
||||
$tpl->assign('hidden', $rUser['hidden']);
|
||||
|
||||
//get last logs
|
||||
@@ -39,7 +40,7 @@
|
||||
LEFT JOIN `cache_rating` ON `cache_rating`.`cache_id`=`caches`.`cache_id` AND `cache_rating`.`user_id`=`cache_logs`.`user_id` AND `cache_rating`.`rating_date`=`cache_logs`.`date`
|
||||
WHERE `cache_logs`.`user_id`='&1'
|
||||
ORDER BY `cache_logs`.`date` DESC, `cache_logs`.`date_created` DESC
|
||||
LIMIT 10", $login->userid));
|
||||
LIMIT 10", $GLOBALS['container']->get('ocde.login')->getUserId()));
|
||||
$tpl->assign('morelogs', sql_value("SELECT FOUND_ROWS()", 0) > 10);
|
||||
sql_foundrows_done();
|
||||
|
||||
@@ -60,7 +61,7 @@
|
||||
AND `caches`.`status` != 5
|
||||
GROUP BY `caches`.`cache_id`
|
||||
ORDER BY `caches`.`date_hidden` DESC, `caches`.`date_created` DESC",
|
||||
$login->userid));
|
||||
$GLOBALS['container']->get('ocde.login')->getUserId()));
|
||||
if ($useragent_msie && $useragent_msie_version < 9)
|
||||
$tpl->assign('dotfill','');
|
||||
else
|
||||
@@ -72,11 +73,11 @@
|
||||
FROM `caches`
|
||||
WHERE `user_id`='&1'
|
||||
AND `caches`.`status` = 5
|
||||
ORDER BY `date_activate` DESC, `caches`.`date_created` DESC", $login->userid));
|
||||
ORDER BY `date_activate` DESC, `caches`.`date_created` DESC", $GLOBALS['container']->get('ocde.login')->getUserId()));
|
||||
|
||||
// get number of sent emails
|
||||
// useless information when email protocol is cleaned-up (cronjob 'purge_logs')
|
||||
// $tpl->assign('emails', sql_value("SELECT COUNT(*) FROM `email_user` WHERE `from_user_id`='&1'", 0, $login->userid));
|
||||
// $tpl->assign('emails', sql_value("SELECT COUNT(*) FROM `email_user` WHERE `from_user_id`='&1'", 0, $GLOBALS['container']->get('ocde.login')->getUserId()));
|
||||
|
||||
// get log pictures
|
||||
$allpics = isset($_REQUEST['allpics']) && $_REQUEST['allpics'];
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
// Run as system user, if possible.
|
||||
// This is relevant e.g. for publishing and for auto-archiving caches.
|
||||
if ($opt['logic']['systemuser']['user'] != '')
|
||||
if (!$login->system_login($opt['logic']['systemuser']['user']))
|
||||
if (!$GLOBALS['container']->get('ocde.login')->systemLogin($opt['logic']['systemuser']['user']))
|
||||
die("ERROR: runcron system user login failed");
|
||||
|
||||
$modules_dir = $opt['rootpath'] . 'util2/cron/modules/';
|
||||
|
||||
Reference in New Issue
Block a user