<?php

//////////////////////////////////////////////////////////////
//===========================================================
// edit.php(For individual softwares)
//===========================================================
// SOFTACULOUS 
// Version : 1.0
// Inspired by the DESIRE to be the BEST OF ALL
// ----------------------------------------------------------
// Started by: Alons
// Date:       10th Jan 2009
// Time:       21:00 hrs
// Site:       http://www.softaculous.com/ (SOFTACULOUS)
// ----------------------------------------------------------
// Please Read the Terms of use at http://www.softaculous.com
// ----------------------------------------------------------
//===========================================================
// (c)Softaculous Inc.
//===========================================================
//////////////////////////////////////////////////////////////

if(!defined('SOFTACULOUS')){

	die('Hacking Attempt');

}

/////////////////////////////////////////
// All functions in this PAGE must begin
// with TWO UNDERSCORE '__' to avoid 
// clashes with SOFTACULOUS Functions
// e.g. __funcname()
/////////////////////////////////////////

//////////////////////////////////////////
// Note : The path of the upgrade package 
//        is $software['path'].'/' . So to
//        access other files use 
//        $software['path'].'/other_file.ext'
//////////////////////////////////////////

//The Edit process
function __edit($installation){

global $__settings, $globals, $setupcontinue, $software, $error;

	$__settings['admin_username'] = optPOST('admin_username');
	$__settings['admin_pass'] = optPOST('admin_pass');

	// Do we need to reset the password ?
	if(!empty($__settings['admin_pass'])){
	
		// We need the username
		if(empty($__settings['admin_username'])){
			$error[] = '{{err_no_username}}';
			return false;
		}
		
		//Calling __ad_pass() function to validate password length
		sp_include_once($software['path'].'/install.php');	
		$__settings['admin_pass'] = __ad_pass($__settings['admin_pass']);

		// This is to get dbprefix from import.php
		sp_include_once($software['path'].'/import.php');

		$r = call_user_func('__import_'.$software['softname'], $installation['softpath']);
		
		$__settings['dbprefix'] = $r['dbprefix'];
		$__settings['softdbhost'] = $r['softdbhost'];
		$__settings['softdbuser'] = $r['softdbuser'];
		$__settings['softdbpass'] = $r['softdbpass'];
		$__settings['softdb'] = $r['softdb'];

		if(!empty($error)){
			return false;
		}
		
		if(sversion_compare($__settings['ver'], '3.0.4', '<')){
			$query = "SELECT `user_id`,`salt` FROM `".$__settings['dbprefix']."users` WHERE `username` = '".$__settings['admin_username']."';";
		}else{
			$query = "SELECT `user_id` FROM `".$__settings['dbprefix']."users` WHERE `username` = '".$__settings['admin_username']."';";
		}

		// Does this user exist ?
		$result = sdb_query($query, $__settings['softdbhost'], $__settings['softdbuser'], $__settings['softdbpass'], $__settings['softdb']);

		$userid = $result[0]['user_id'];

		if(empty($userid)){
			$error[] = '{{err_no_such_user}}';
			return false;	
		}else{

			//We include this file to create passwords as per the respective versions
			@sp_include_once($software['path'].'/extend.php');
			
			if(sversion_compare($__settings['ver'], '3.0.4', '<')){
				//Fetching salt from the database
				$__settings['salt'] = $result[0]['salt'];
				// creating password using __ad_pass_sha1() function(from extend.php)
				$__settings['admin_pass'] = __ad_pass_sha1($__settings['admin_pass']);
			}else{
				//////////// To Encrypt Password //////////////////
				
				__pass_encrypt_extend();
	
				if(empty($__settings['admin_pass'])){
					$error[] = '{{no_pass_encrypt}}';
					return false;
				}
	
				//////////// END of Encrypting Password //////////////////
			}
			
			if(!empty($error)){
				return false;
			}

			// Update the password now
			if(sversion_compare($__settings['ver'], '3.0.4', '<')){
				$update_query_old = "UPDATE `".$__settings['dbprefix']."users` SET `password` = '".$__settings['admin_pass']."' WHERE `user_id` = '".$userid."';";
				$results = sdb_query($update_query_old, $__settings['softdbhost'], $__settings['softdbuser'], $__settings['softdbpass'], $__settings['softdb']);
			}else{
				$update_query = "UPDATE `".$__settings['dbprefix']."users` SET `password` = '".$__settings['admin_pass']."' WHERE `user_id` = '".$userid."';";
				$result = sdb_query($update_query, $__settings['softdbhost'], $__settings['softdbuser'], $__settings['softdbpass'], $__settings['softdb']);
			}
		}
	}
}

?>