<?php
/*
Officity - Web application platform - Version 6.0 - 2011-07-05

François Dispaux, Boris Verdeyen, Thomas Hermant,
Jérémie Roy, Grégory Meurice, Abdelila Harbi, 
Marc Mignonsin, Jonathan Sanchez, Julien Gonzalez, Pierre Fouchez

Sushee and Officity is © Copyright 2011 Nectil SA.

`/sushee-source/sushee/private/mailsaccount_preprocessing.php` is part of Officity.

Sushee is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

Officity and Sushee are distributed in the hope that they will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with Sushee. If not, see <http://www.gnu.org/licenses/>.
*/

if ( $requestName=="CREATE" || $requestName=="UPDATE" ){
	$number_to_manage = ( $requestName=="CREATE" )?$number:sizeof($IDs_array);
	if(isset($values['Password']) && $number_to_manage==1 && $values['Password']!=''){
		if($requestName=="UPDATE"){
			$pass_sql = 'SELECT `Password` FROM `'.$moduleInfo->tableName.'` WHERE ID='.$IDs_array[0].';';
			$former_pass_row = $db_conn->GetRow($pass_sql);
			$former_password = $former_pass_row['Password'];
		}
		// New password, we must choose the best way to encode it
		require_once(dirname(__FILE__)."/../common/nectil_user.class.php");
		$user = new NectilUser();
		if( ($requestName=="CREATE") || ($requestName=="UPDATE" &&  $values['Password']!=$former_password) && $user->getSessionPassword()){
			include_once(dirname(__FILE__)."/../common/crypt.class.php");
			if(!isset($values['Encryption']))
				$values['Encryption']='BLOWFISH';
			$crypt = new Crypt();
			$crypt->setAlgo($values['Encryption']);
			
			$crypt->setKey($user->getSessionPassword());
			$values['Password']=$crypt->execute($values['Password']);
		}
	}
}
return true;
?>
