diff --git a/class2.php b/class2.php index ca2bf9916..e591fc372 100644 --- a/class2.php +++ b/class2.php @@ -11,8 +11,8 @@ | GNU General Public License (http://gnu.org). | | $Source: /cvs_backup/e107_0.8/class2.php,v $ -| $Revision: 1.45 $ -| $Date: 2008-01-21 03:54:10 $ +| $Revision: 1.46 $ +| $Date: 2008-01-22 00:39:08 $ | $Author: e107coders $ +----------------------------------------------------------------------------+ */ @@ -49,6 +49,11 @@ $oblev_before_start = ob_get_level(); // // B: Remove all output buffering // +if(!isset($_E107) || !is_array($_E107)) { $_E107 = array(); } +if($_E107['cli'] && !$_E107['debug'] && isset($_SERVER["HTTP_USER_AGENT"])) +{ + exit; +} if(!$_E107['cli']) { while (@ob_end_clean()); // destroy all ouput buffering @@ -75,7 +80,7 @@ if($register_globals == true){ unset($global); } -if(!isset($_E107) || !is_array($_E107)) { $_E107 = array(); } + if(isset($_E107['minimal'])) { $_e107vars = array('forceuserupdate', 'online', 'theme', 'menus', 'prunetmp'); @@ -1193,18 +1198,42 @@ function init_session() { # - return boolean # - scope public */ - global $sql, $pref, $user_pref, $tp, $currentUser, $e107; + global $sql, $pref, $user_pref, $tp, $currentUser, $e107, $_E107; define('USERIP', $e107->getip()); - if (!isset($_COOKIE[$pref['cookie_name']]) && !isset($_SESSION[$pref['cookie_name']])) { + + if($_E107['cli'] && $_SERVER['argv'][1]) + { + require_once(e_HANDLER."cli_class.php"); + $cli = new eCLI; + $arg = $cli->parse_args(); + if($arg['u'] && $arg['p']) + { + e107_require_once(e_HANDLER."login.php"); + $usr = new userlogin; + $cli_log = $usr->userlogin(trim($arg['u']), trim($arg['p']), 0); + } + } + + if (!isset($_COOKIE[$pref['cookie_name']]) && !isset($_SESSION[$pref['cookie_name']]) && !$_E107['cli']) + { define("USER", FALSE); define("USERTHEME", FALSE); define("ADMIN", FALSE); define("GUEST", TRUE); define('USERCLASS', ''); define('USEREMAIL', ''); - } else { - list($uid, $upw)=(isset($_COOKIE[$pref['cookie_name']]) && $_COOKIE[$pref['cookie_name']] ? explode(".", $_COOKIE[$pref['cookie_name']]) : explode(".", $_SESSION[$pref['cookie_name']])); + } + else + { + if(!$_E107['cli']) + { + list($uid, $upw)=(isset($_COOKIE[$pref['cookie_name']]) && $_COOKIE[$pref['cookie_name']] ? explode(".", $_COOKIE[$pref['cookie_name']]) : explode(".", $_SESSION[$pref['cookie_name']])); + } + else + { + list($uid, $upw)= explode(".", $cli_log); + } if (empty($uid) || empty($upw)) { cookie($pref['cookie_name'], "", (time() - 2592000)); diff --git a/e107_handlers/login.php b/e107_handlers/login.php index 9f55fef1d..ff78557a5 100644 --- a/e107_handlers/login.php +++ b/e107_handlers/login.php @@ -12,9 +12,9 @@ | GNU General Public License (http://gnu.org). | | $Source: /cvs_backup/e107_0.8/e107_handlers/login.php,v $ -| $Revision: 1.15 $ -| $Date: 2008-01-15 21:57:38 $ -| $Author: e107steved $ +| $Revision: 1.16 $ +| $Date: 2008-01-22 00:39:08 $ +| $Author: e107coders $ +----------------------------------------------------------------------------+ */ @@ -35,7 +35,7 @@ class userlogin # - scope public */ global $pref, $e_event, $sql, $e107, $tp; - global $admin_log; + global $admin_log,$_E107; $username = trim($username); $userpass = trim($userpass); @@ -145,7 +145,7 @@ class userlogin $this->update_xup($user_id, $user_xup); } - if ($pref['user_tracking'] == "session") + if ($pref['user_tracking'] == "session") { $_SESSION[$pref['cookie_name']] = $cookieval; } @@ -209,12 +209,16 @@ class userlogin } } + if($_E107['cli']) + { + return $cookieval; + } if (strstr($_SERVER['SERVER_SOFTWARE'], "Apache")) { - header("Location: ".$redir); - exit; + header("Location: ".$redir); + exit; } else { - echo "\n"; + echo "\n"; } } } @@ -309,4 +313,4 @@ class userlogin } } -?> +?> \ No newline at end of file