Jump to content

UAL003

Members
  • Posts

    7
  • Joined

  • Last visited

Posts posted by UAL003

  1. I think I found what is causing my troubles. The error started when I changed when I changed my local.config from this:

    # ACARS options

    # Minutes, flights to show on the ACARS

    # Default is 720 minutes (12 hours)

    Config::Set('ACARS_LIVE_TIME', 720);

    Config::Set('ACARS_DEBUG', false);

    to this:

    # ACARS options

    # Minutes, flights to show on the ACARS

    # Default is 720 minutes (12 hours)

    Config::Set('ACARS_LIVE_TIME', 30);

    Config::Set('ACARS_DEBUG', false);

    When I restore my default config file everything starts working fine. Am I editing this file in-properly?

    Also as requested I've posted the other files:

    Login.php

    <?php

    /**

    * phpVMS - Virtual Airline Administration Software

    * Copyright © 2008 Nabeel Shahzad

    * For more information, visit www.phpvms.net

    * Forums: http://www.phpvms.net/forum'>http://www.phpvms.net/forum

    * Documentation: http://www.phpvms.net/docs'>http://www.phpvms.net/docs

    *

    * phpVMS is licenced under the following license:

    * Creative Commons Attribution Non-commercial Share Alike (by-nc-sa)

    * View license.txt in the root, or visit http://creativecommons.org/licenses/by-nc-sa/3.0/

    *

    * @author Nabeel Shahzad

    * @copyright Copyright © 2008, Nabeel Shahzad

    * @link http://www.phpvms.net

    */

    class Login extends CodonModule

    {

    public function __construct()

    {

    parent::__construct();

    }

    public function index()

    {

    $this->login();

    }

    public function login($redir='')

    {

    if(Auth::LoggedIn() == true)

    {

    $this->render('login_already.tpl');

    return;

    }

    $this->set('redir', $redir);

    if(isset($this->post->action) && $this->post->action == 'login')

    {

    $this->ProcessLogin();

    }

    else

    {

    $this->render('login_form.tpl');

    }

    }

    public function logout()

    {

    Auth::LogOut();

    $this->set('redir', SITE_URL);

    $this->render('login_complete.tpl');

    }

    public function forgotpassword()

    {

    if($this->post->action == 'resetpass')

    {

    $this->ResetPassword();

    return;

    }

    $this->render('login_forgotpassword.tpl');

    }

    public function ResetPassword()

    {

    $email = $this->post->email;

    if(!$email)

    {

    return false;

    }

    else

    {

    $pilotdata = PilotData::GetPilotByEmail($email);

    if(!$pilotdata)

    {

    $this->render('login_notfound.tpl');

    return;

    }

    $newpw = substr(md5(date('mdYhs')), 0, 6);

    RegistrationData::ChangePassword($pilotdata->pilotid, $newpw);

    $this->set('firstname', $pilotdata->firstname);

    $this->set('lastname', $pilotdata->lastname);

    $this->set('newpw', $newpw);

    $message = Template::GetTemplate('email_lostpassword.tpl', true);

    Util::SendEmail($pilotdata->email, 'Password Reset', $message);

    $this->render('login_passwordreset.tpl');

    }

    }

    public function ProcessLogin()

    {

    $email = $this->post->email;

    $password = $this->post->password;

    if($email == '' || $password == '')

    {

    $this->set('message', 'You must fill out both your username and password');

    $this->render('login_form.tpl');

    return false;

    }

    if(!Auth::ProcessLogin($email, $password))

    {

    $this->set('message', Auth::$error_message);

    $this->render('login_form.tpl');

    return false;

    }

    else

    {

    if(Auth::$userinfo->confirmed == PILOT_PENDING)

    {

    $this->render('login_unconfirmed.tpl');

    Auth::LogOut();

    // show error

    }

    elseif(Auth::$userinfo->confirmed == PILOT_REJECTED)

    {

    $this->render('login_rejected.tpl');

    Auth::LogOut();

    }

    else

    {

    $pilotid = Auth::$userinfo->pilotid;

    $session_id = Auth::$session_id;

    # If they choose to be "remembered", then assign a cookie

    if($this->post->remember == 'on')

    {

    $cookie = "{$session_id}|{$pilotid}|{$_SERVER['REMOTE_ADDR']}";

    $res = setrawcookie(VMS_AUTH_COOKIE, $cookie, time() + Config::Get('SESSION_LOGIN_TIME'), '/');

    }

    PilotData::UpdateLogin($pilotid);

    #$this->set('redir', SITE_URL . '/' . $this->post->redir);

    #$this->render('login_complete.tpl');

    CodonEvent::Dispatch('login_success', 'Login');

    $this->post->redir = str_replace('index.php/', '', $this->post->redir);

    header('Location: '.url('/'.$this->post->redir));

    }

    return;

    }

    }

    }

    Logout.php

    <?php

    /**

    * phpVMS - Virtual Airline Administration Software

    * Copyright © 2008 Nabeel Shahzad

    * For more information, visit www.phpvms.net

    * Forums: http://www.phpvms.net/forum'>http://www.phpvms.net/forum

    * Documentation: http://www.phpvms.net/docs'>http://www.phpvms.net/docs

    *

    * phpVMS is licenced under the following license:

    * Creative Commons Attribution Non-commercial Share Alike (by-nc-sa)

    * View license.txt in the root, or visit http://creativecommons.org/licenses/by-nc-sa/3.0/

    *

    * @author Nabeel Shahzad

    * @copyright Copyright © 2008, Nabeel Shahzad

    * @link http://www.phpvms.net

    */

    class Logout extends CodonModule

    {

    public function index()

    {

    Auth::LogOut();

    /*redirect back to front page

    */

    header('Location: '.url('/'));

    #$this->set('redir', SITE_URL);

    #$this->render('login_complete.tpl');

    }

    }

    Auth.class.php

    <?php

    /**

    * phpVMS - Virtual Airline Administration Software

    * Copyright © 2008 Nabeel Shahzad

    * For more information, visit www.phpvms.net

    * Forums: http://www.phpvms.net/forum'>http://www.phpvms.net/forum

    * Documentation: http://www.phpvms.net/docs'>http://www.phpvms.net/docs

    *

    * phpVMS is licenced under the following license:

    * Creative Commons Attribution Non-commercial Share Alike (by-nc-sa)

    * View license.txt in the root, or visit http://creativecommons.org/licenses/by-nc-sa/3.0/

    *

    * @author Nabeel Shahzad

    * @copyright Copyright © 2008, Nabeel Shahzad

    * @link http://www.phpvms.net

    * @license http://creativecommons.org/licenses/by-nc-sa/3.0/

    */

    class Auth extends CodonData

    {

    public static $init=false;

    public static $loggedin=false;

    public static $error_message;

    public static $pilotid;

    public static $userinfo;

    public static $session_id;

    public static $usergroups;

    /**

    * Start the "auth engine", see if anyone is logged in and grab their info

    *

    * @return mixed This is the return value description

    *

    */

    public static function StartAuth()

    {

    self::$init = true;

    self::$session_id = SessionManager::Get('session_id');

    $assign_id = false;

    if(self::$session_id == '')

    {

    if($_COOKIE[VMS_AUTH_COOKIE] != '')

    {

    $data = explode('|', $_COOKIE[VMS_AUTH_COOKIE]);

    $session_id = $data[0];

    $pilot_id = $data[1];

    $ip_address = $data[2];

    // TODO: Determine data reliability from IP addresses marked

    $session_info = self::get_session($session_id, $pilot_id, $ip_address);

    if($session_info)

    {

    /* Populate session info */

    $userinfo = PilotData::GetPilotData($pilot_id);

    if(!$userinfo)

    {

    self::$loggedin = false;

    return false;

    }

    self::$loggedin = true;

    self::$userinfo = $userinfo;

    self::$pilotid = self::$userinfo->pilotid;

    self::$usergroups = SessionManager::Get('usergroups');

    self::$session_id = $session_id;

    if(self::$usergroups == '')

    {

    self::$usergroups = PilotGroups::GetUserGroups($userinfo->pilotid);

    }

    SessionManager::Set('loggedin', true);

    SessionManager::Set('userinfo', $userinfo);

    SessionManager::Set('usergroups', self::$usergroups);

    PilotData::UpdateLogin($userinfo->pilotid);

    self::update_session(self::$session_id, self::$userinfo->pilotid);

    return true;

    }

    }

    // Look for an existing session based on ID

    // No session ID was found anywhere so assign one

    $assign_id = true;

    self::$session_id = self::start_session(0);

    SessionManager::Set('session_id', self::$session_id);

    }

    else

    {

    // There's a session ID, so double check that they're logged in

    if(SessionManager::Get('loggedin') == true)

    {

    self::$loggedin = true;

    self::$userinfo = SessionManager::Get('userinfo');

    self::$usergroups = PilotGroups::GetUserGroups(self::$userinfo->pilotid);

    self::$pilotid = self::$userinfo->pilotid;

    # Bugfix, in case user updates their profile info, grab the latest

    self::$userinfo = PilotData::GetPilotData(self::$pilotid);

    self::update_session(self::$session_id, self::$userinfo->pilotid);

    return true;

    }

    else

    {

    // Already been assigned a session ID, and not signed in...

    self::$loggedin = false;

    self::update_session(self::$session_id, 0);

    $assign_id = false;

    }

    }

    // Empty session so start one up, and they're not logged in

    if($assign_id == true)

    {

    }

    return true;

    }

    public static function start_session($pilot_id)

    {

    $sql = "INSERT INTO ".TABLE_PREFIX."sessions

    (`pilotid`, `ipaddress`, `logintime`)

    VALUES ({$pilot_id},'{$_SERVER['REMOTE_ADDR']}', NOW())";

    DB::query($sql);

    $session_id = DB::$insert_id;

    return $session_id;

    }

    public static function update_session($session_id, $pilot_id)

    {

    $sql = 'UPDATE '.TABLE_PREFIX."sessions

    SET `pilotid`={$pilot_id}, `logintime`=NOW(), `ipaddress`='{$_SERVER['REMOTE_ADDR']}'

    WHERE `id`={$session_id}";

    DB::query($sql);

    $session_id = $session_data->id;

    }

    public static function get_session($session_id, $pilot_id, $ip_address)

    {

    $sql = 'SELECT * FROM '.TABLE_PREFIX."sessions

    WHERE id = '{$session_id}' AND pilotid = '{$pilot_id}'

    "; //AND ipaddress = '{$ip_address}'

    $results = DB::get_row($sql);

    return $results;

    }

    public static function remove_sessions($pilot_id)

    {

    $sql = "DELETE FROM ".TABLE_PREFIX."sessions

    WHERE pilotid={$pilot_id}";

    DB::query($sql);

    }

    /**

    * Clear any guest sessions which have expired

    *

    * @return mixed This is the return value description

    *

    */

    public static function clearExpiredSessions()

    {

    $time = Config::Get('SESSION_GUEST_EXPIRE');

    $sql = "DELETE FROM ".TABLE_PREFIX."sessions

    WHERE DATE_SUB(NOW(), INTERVAL {$time} MINUTE) > `logintime`

    AND `pilotid` = 0";

    DB::query($sql);

    }

    /**

    * Return the pilot ID of the currently logged in user

    *

    * @return int The pilot's ID

    *

    */

    public static function PilotID()

    {

    return self::$userinfo->pilotid;

    }

    /**

    * Get their firstname/last name

    */

    public static function DisplayName()

    {

    return self::$userinfo->firstname . ' ' . self::$userinfo->lastname;

    }

    /**

    * Return true/false if they're logged in or not

    */

    public static function LoggedIn()

    {

    if(self::$init == false)

    {

    return self::StartAuth();

    }

    return self::$loggedin;

    }

    /**

    * See if a use is in a given group

    */

    public static function UserInGroup($groupname)

    {

    if(!self::LoggedIn()) return false;

    if(!self::$usergroups) self::$usergroups = array();

    foreach(self::$usergroups as $group)

    {

    if($group->name == $groupname)

    return true;

    }

    return false;

    }

    /**

    * Log the user in

    */

    public static function ProcessLogin($useridoremail, $password)

    {

    # Allow them to login in any manner:

    # Email: blah@blah.com

    # Pilot ID: VMA0001, VMA 001, etc

    # Just ID: 001

    if(is_numeric($useridoremail))

    {

    $useridoremail = $useridoremail - intval(Config::Get('PILOTID_OFFSET'));

    $sql = 'SELECT * FROM '.TABLE_PREFIX.'pilots

    WHERE pilotid='.$useridoremail;

    }

    else

    {

    # They're logging in with an email

    if(preg_match('/^.*\@.*$/i', $useridoremail) > 0)

    {

    $emailaddress = DB::escape($useridoremail);

    $sql = 'SELECT * FROM ' . TABLE_PREFIX . 'pilots

    WHERE email=\''.$useridoremail.'\'';

    }

    # They're loggin in with a pilot id

    elseif(preg_match('/^([A-Za-z]*)(.*)(\d*)/', $useridoremail, $matches)>0)

    {

    $id = trim($matches[2]);

    $id = $id - intval(Config::Get('PILOTID_OFFSET'));

    $sql = 'SELECT * FROM '.TABLE_PREFIX.'pilots

    WHERE pilotid='.$id;

    }

    # No idea

    else

    {

    self::$error_message = 'Invalid user ID';

    return false;

    }

    }

    $password = DB::escape($password);

    $userinfo = DB::get_row($sql);

    if(!$userinfo)

    {

    self::$error_message = 'This user does not exist';

    return false;

    }

    /*if($userinfo->retired == 1)

    {

    self::$error_message = 'Your account was deactivated, please contact an admin';

    return false;

    }*/

    //ok now check it

    $hash = md5($password . $userinfo->salt);

    if($hash == $userinfo->password)

    {

    self::$userinfo = $userinfo;

    self::update_session(self::$session_id, self::$userinfo->pilotid);

    SessionManager::Set('loggedin', 'true');

    SessionManager::Set('userinfo', $userinfo);

    SessionManager::Set('usergroups', PilotGroups::GetUserGroups($userinfo->pilotid));

    PilotData::updateProfile($pilotid, array(

    'lastlogin'=>'NOW()',

    'lastip' => $_SERVER['REMOTE_ADDR'],

    )

    );

    return true;

    }

    else

    {

    self::$error_message = 'Invalid login, please check your username and password';

    self::LogOut();

    return false;

    }

    }

    /**

    * Log them out

    */

    public static function LogOut()

    {

    #self::remove_sessions(SessionManager::GetValue('userinfo', 'pilotid'));

    # Mark them as guest

    self::update_session(self::$session_id, 0);

    # "Ghost" entry

    //self::start_session(self::$userinfo->pilotid); // Orphaned?

    SessionManager::Set('loggedin', false);

    SessionManager::Set('userinfo', '');

    SessionManager::Set('usergroups', '');

    # Delete cookie

    $_COOKIE[VMS_AUTH_COOKIE] = '';

    setcookie(VMS_AUTH_COOKIE, false);

    self::$loggedin = false;

    }

    }

    Like I said I think this error is in local.config since restoring that fixed the issue. Note: Restoring the local.config also fixes my issue with pilots in the ADMIN Centrer

  2. Hello,

    After recently editing the local.config.php file changing the time to display a flight on our live map after completing, a few errors have started pooping up on our site.

    First when logging in I get the following error:

    	
    Warning: Cannot modify header information - headers already sent by (output started at /hermes/web04/b1846/pow.virtualunitedairline/htdocs/core/local.config.php:1) in /hermes/web04/b1846/pow.virtualunitedairline/htdocs/core/modules/Login/Login.php on line 154

    The when logging out I receive these two errors:

    	
    Warning: Cannot modify header information - headers already sent by (output started at /hermes/web04/b1846/pow.virtualunitedairline/htdocs/core/local.config.php:1) in /hermes/web04/b1846/pow.virtualunitedairline/htdocs/core/common/Auth.class.php on line 341

    Warning: Cannot modify header information - headers already sent by (output started at /hermes/web04/b1846/pow.virtualunitedairline/htdocs/core/local.config.php:1) in /hermes/web04/b1846/pow.virtualunitedairline/htdocs/core/modules/Logout/Logout.php on line 26

    I understand that the error is in either local.config.php, login.php or logout.php but don't know what I should be looking for in these files. Any help that someone can give would be greatly appreciated.

  3. I'm recieveing the following error on install

    Notice: The template file "/hermes/web04/b1846/pow.virtualunitedairline/htdocs//lib/skins/ObsessBlue/header.tpl" doesn't exist in /hermes/web04/b1846/pow.virtualunitedairline/htdocs/core/classes/TemplateSet.class.php on line 248

    How do I go about fixing it? I cannot find the header.tpl file anywhere.

×
×
  • Create New...