Newer
Older
ubFramework / Source / user / account / password.php
<?php

/**
 * ****************************************************************************************
 * Copyright (c) 2013 Christopher W.
 * Olsen <cwolsen@ubixtechnologies.com>
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without modification, are
 * permitted provided that the following conditions are met:
 *
 * Redistributions of source code must retain the above copyright notice, this list of
 * conditions, the following disclaimer and the list of authors. Redistributions in binary
 * form must reproduce the above copyright notice, this list of conditions, the following
 * disclaimer and the list of authors in the documentation and/or other materials provided
 * with the distribution. Neither the name of the uBix Cube Project nor the names of its
 * contributors may be used to endorse or promote products derived from this software
 * without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
 * THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
 * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
 * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 * $Id: password.php 940 2017-09-07 20:12:42Z reddawg $
 *
 * ***************************************************************************************
 */

/* Main include info */
ini_set ( 'include_path', $_SERVER ['DOCUMENT_ROOT'] . "/include/" );
include ("config.php");

/* Assign the page title */
$ubF->tpl->assign ( "PAGE_TITLE", "My Account - Update Password" );

/* Main defines */
$ubF->tpl->define ( array (
    "index" => "user/wrapper/default.html" 
) );
$ubF->tpl->define ( array (
    "menu" => "user/account/menu.html" 
) );
$ubF->tpl->define ( array (
    "body" => "user/account/password.html" 
) );

$ubF->session->Validate ( 'U_A_', 0 );

/* Initialize Message */
$message = "";

if ( isset ( $form_data ['up'] ) ) {
  if ( $form_data ['npassword1'] != $form_data ['npassword2'] )
    $message = "Password Mismatch!<br />";
  else if ( strlen ( $form_data ['npassword1'] ) < 8 )
    $message = "Password too short!<br />";
  else {
    $query = "SELECT password FROM users WHERE email = '" . $ubF->session->email . "'";
    $result = $ubF->DB['main']->query ( $query );
    $row = $result->fetch_row ();
    if ( $row [0] != $form_data ['cpassword'] )
      $message = "Invalid Current Password!<br />";
    $result->free ();
  }
  
  if ( $messages == "" ) {
    $query = "UPDATE users SET status = 2, password = '" . hash ( "SHA256", $form_data ['npassword1'] ) . "' WHERE email = '" . $ubF->session->email . "'";
    if ( $ubF->DB['main']->query ( $query ) === false )
      $message = "Error updating password, please try again.<br />";
    else
      $message = "Password successfully updated!<br />";
  }
}

$ubF->tpl->assign ( "MESSAGE", $message );

/* Parse and print */
$ubF->tpl->parse ( "MENU", array (
    "menu" 
) );
$ubF->tpl->parse ( "BODY", array (
    "body" 
) );
$ubF->tpl->parse ( "INDEX", array (
    "index" 
) );
$ubF->tpl->FastPrint ( "INDEX" );
?>