<?php

/**
 * Description of User
 *
 * @author Arkadiusz Rychlik <a.rychlik at eppe.com.pl>
 */
class Main_Users_CRUD_User extends Rtn_CRUD {

	protected $beanName = 'user';
	protected $moduleName = 'Users';

	public function update($beanId, $data) {
		$bean = $this->findBean($beanId);

		if ($bean) {
			// password
			if (empty($data['rep_pass'])) {
				unset($data['pass']);
				$bean->setFromArray($data);
				return R::store($bean);
			} else {
				$bean->setFromArray($data);
				$id = R::store($bean);
				
				R::exec('UPDATE user SET pass = PASSWORD(CONCAT(:pass,salt)) WHERE id = :id',[
					':pass' => $data['pass'],
					':id' => $beanId
				]);
				
				return $id;
			}

		}
	}

	public function create($data) {
		$data['salt'] = base_convert(uniqid(microtime(true)), 10, 36);
		$id = parent::create($data);
		
		R::exec('UPDATE user SET pass = PASSWORD(CONCAT(:pass,salt)) WHERE id = :id',[
			':pass' => $data['pass'],
			':id' => $id
		]);
		
		return $id;
	}

}
