Fix: beware with merges in conflict !!
This commit is contained in:
parent
1ded08abef
commit
d2d38f58bf
@ -3,7 +3,7 @@
|
|||||||
* Copyright (C) 2002-2003 Jean-Louis Bergamo <jlb@j1b.org>
|
* Copyright (C) 2002-2003 Jean-Louis Bergamo <jlb@j1b.org>
|
||||||
* Copyright (C) 2004-2015 Laurent Destailleur <eldy@users.sourceforge.net>
|
* Copyright (C) 2004-2015 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
* Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com>
|
* Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com>
|
||||||
* Copyright (C) 2005-2015 Regis Houssin <regis.houssin@capnetworks.com>
|
* Copyright (C) 2005-2016 Regis Houssin <regis.houssin@capnetworks.com>
|
||||||
* Copyright (C) 2005 Lionel Cousteix <etm_ltd@tiscali.co.uk>
|
* Copyright (C) 2005 Lionel Cousteix <etm_ltd@tiscali.co.uk>
|
||||||
* Copyright (C) 2011 Herve Prot <herve.prot@symeos.com>
|
* Copyright (C) 2011 Herve Prot <herve.prot@symeos.com>
|
||||||
* Copyright (C) 2012 Juanjo Menent <jmenent@2byte.es>
|
* Copyright (C) 2012 Juanjo Menent <jmenent@2byte.es>
|
||||||
@ -298,220 +298,198 @@ if (empty($reshook)) {
|
|||||||
{
|
{
|
||||||
$error = 0;
|
$error = 0;
|
||||||
|
|
||||||
if (!$_POST["lastname"]) {
|
if (!$_POST["lastname"]) {
|
||||||
setEventMessages($langs->trans("NameNotDefined"), null, 'errors');
|
setEventMessages($langs->trans("NameNotDefined"), null, 'errors');
|
||||||
$action = "edit"; // Go back to create page
|
$action = "edit"; // Go back to create page
|
||||||
$error ++;
|
$error ++;
|
||||||
}
|
}
|
||||||
if (!$_POST["login"]) {
|
if (!$_POST["login"]) {
|
||||||
setEventMessages($langs->trans("LoginNotDefined"), null, 'errors');
|
setEventMessages($langs->trans("LoginNotDefined"), null, 'errors');
|
||||||
$action = "edit"; // Go back to create page
|
$action = "edit"; // Go back to create page
|
||||||
$error ++;
|
$error ++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$error) {
|
if (!$error) {
|
||||||
$object->fetch($id);
|
$object->fetch($id);
|
||||||
|
|
||||||
$object->oldcopy = clone $object;
|
$object->oldcopy = clone $object;
|
||||||
|
|
||||||
if (!$error) {
|
if (!$error) {
|
||||||
$db->begin();
|
$db->begin();
|
||||||
|
|
||||||
$object->oldcopy = dol_clone($object);
|
$object->oldcopy = dol_clone($object);
|
||||||
|
|
||||||
$object->lastname = GETPOST("lastname", 'alpha');
|
$object->lastname = GETPOST("lastname", 'alpha');
|
||||||
$object->firstname = GETPOST("firstname", 'alpha');
|
$object->firstname = GETPOST("firstname", 'alpha');
|
||||||
$object->login = GETPOST("login", 'alpha');
|
$object->login = GETPOST("login", 'alpha');
|
||||||
$object->gender = GETPOST("gender", 'alpha');
|
$object->gender = GETPOST("gender", 'alpha');
|
||||||
$object->pass = GETPOST("password");
|
$object->pass = GETPOST("password");
|
||||||
$object->api_key = (GETPOST("api_key", 'alpha')) ? GETPOST("api_key", 'alpha') : $object->api_key;
|
$object->api_key = (GETPOST("api_key", 'alpha')) ? GETPOST("api_key", 'alpha') : $object->api_key;
|
||||||
$object->admin = empty($user->admin) ? 0 : GETPOST("admin"); // A user can only be set admin by an admin
|
$object->admin = empty($user->admin) ? 0 : GETPOST("admin"); // A user can only be set admin by an admin
|
||||||
$object->address = GETPOST('address', 'alpha');
|
$object->address = GETPOST('address', 'alpha');
|
||||||
$object->zip = GETPOST('zipcode', 'alpha');
|
$object->zip = GETPOST('zipcode', 'alpha');
|
||||||
$object->town = GETPOST('town', 'alpha');
|
$object->town = GETPOST('town', 'alpha');
|
||||||
$object->country_id = GETPOST('country_id', 'int');
|
$object->country_id = GETPOST('country_id', 'int');
|
||||||
$object->state_id = GETPOST('state_id', 'int');
|
$object->state_id = GETPOST('state_id', 'int');
|
||||||
$object->office_phone = GETPOST("office_phone", 'alpha');
|
$object->office_phone = GETPOST("office_phone", 'alpha');
|
||||||
$object->office_fax = GETPOST("office_fax", 'alpha');
|
$object->office_fax = GETPOST("office_fax", 'alpha');
|
||||||
$object->user_mobile = GETPOST("user_mobile");
|
$object->user_mobile = GETPOST("user_mobile");
|
||||||
$object->skype = GETPOST("skype", 'alpha');
|
$object->skype = GETPOST("skype", 'alpha');
|
||||||
$object->email = GETPOST("email", 'alpha');
|
$object->email = GETPOST("email", 'alpha');
|
||||||
$object->job = GETPOST("job", 'alpha');
|
$object->job = GETPOST("job", 'alpha');
|
||||||
$object->signature = GETPOST("signature");
|
$object->signature = GETPOST("signature");
|
||||||
$object->accountancy_code = GETPOST("accountancy_code");
|
$object->accountancy_code = GETPOST("accountancy_code");
|
||||||
$object->openid = GETPOST("openid");
|
$object->openid = GETPOST("openid");
|
||||||
$object->fk_user = GETPOST("fk_user") > 0 ? GETPOST("fk_user") : 0;
|
$object->fk_user = GETPOST("fk_user") > 0 ? GETPOST("fk_user") : 0;
|
||||||
$object->employee = GETPOST('employee');
|
$object->employee = GETPOST('employee');
|
||||||
|
|
||||||
$object->thm = GETPOST("thm") != '' ? GETPOST("thm") : '';
|
$object->thm = GETPOST("thm") != '' ? GETPOST("thm") : '';
|
||||||
$object->tjm = GETPOST("tjm") != '' ? GETPOST("tjm") : '';
|
$object->tjm = GETPOST("tjm") != '' ? GETPOST("tjm") : '';
|
||||||
$object->salary = GETPOST("salary") != '' ? GETPOST("salary") : '';
|
$object->salary = GETPOST("salary") != '' ? GETPOST("salary") : '';
|
||||||
$object->salaryextra = GETPOST("salaryextra") != '' ? GETPOST("salaryextra") : '';
|
$object->salaryextra = GETPOST("salaryextra") != '' ? GETPOST("salaryextra") : '';
|
||||||
$object->weeklyhours = GETPOST("weeklyhours") != '' ? GETPOST("weeklyhours") : '';
|
$object->weeklyhours = GETPOST("weeklyhours") != '' ? GETPOST("weeklyhours") : '';
|
||||||
|
|
||||||
if (! empty($conf->multicompany->enabled))
|
if (! empty($conf->multicompany->enabled))
|
||||||
{
|
{
|
||||||
if (! empty($_POST["superadmin"]))
|
if (! empty($_POST["superadmin"]))
|
||||||
{
|
{
|
||||||
$object->entity = 0;
|
$object->entity = 0;
|
||||||
}
|
}
|
||||||
else if ($conf->multicompany->transverse_mode)
|
else if ($conf->multicompany->transverse_mode)
|
||||||
{
|
{
|
||||||
$object->entity = 1; // all users in master entity
|
$object->entity = 1; // all users in master entity
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$object->entity = (! GETPOST('entity', 'int') ? 0 : GETPOST('entity', 'int'));
|
$object->entity = (! GETPOST('entity', 'int') ? 0 : GETPOST('entity', 'int'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$object->entity = (! GETPOST('entity', 'int') ? 0 : GETPOST('entity', 'int'));
|
$object->entity = (! GETPOST('entity', 'int') ? 0 : GETPOST('entity', 'int'));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fill array 'array_options' with data from add form
|
// Fill array 'array_options' with data from add form
|
||||||
$ret = $extrafields->setOptionalsFromPost($extralabels, $object);
|
$ret = $extrafields->setOptionalsFromPost($extralabels, $object);
|
||||||
if ($ret < 0) {
|
if ($ret < 0) {
|
||||||
$error ++;
|
$error ++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($conf->multicompany->enabled)) {
|
if (GETPOST('deletephoto')) {
|
||||||
if (!empty($_POST["superadmin"])) {
|
$object->photo = '';
|
||||||
$object->entity = 0;
|
}
|
||||||
} else {
|
if (!empty($_FILES['photo']['name'])) {
|
||||||
if ($conf->multicompany->transverse_mode) {
|
$object->photo = dol_sanitizeFileName($_FILES['photo']['name']);
|
||||||
$object->entity = 1; // all users in master entity
|
}
|
||||||
} else {
|
|
||||||
$object->entity = (empty($_POST["entity"]) ? 0 : $_POST["entity"]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$object->entity = (empty($_POST["entity"]) ? 0 : $_POST["entity"]);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (GETPOST('deletephoto')) {
|
if (!$error) {
|
||||||
$object->photo = '';
|
$ret = $object->update($user);
|
||||||
}
|
if ($ret < 0) {
|
||||||
if (!empty($_FILES['photo']['name'])) {
|
$error ++;
|
||||||
$object->photo = dol_sanitizeFileName($_FILES['photo']['name']);
|
if ($db->errno() == 'DB_ERROR_RECORD_ALREADY_EXISTS') {
|
||||||
}
|
$langs->load("errors");
|
||||||
|
setEventMessages($langs->trans("ErrorLoginAlreadyExists", $object->login), null, 'errors');
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
setEventMessages($object->error, $object->errors, 'errors');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (!$error) {
|
if (!$error && isset($_POST['contactid'])) {
|
||||||
$ret = $object->update($user);
|
$contactid = GETPOST('contactid', 'int');
|
||||||
if ($ret < 0) {
|
|
||||||
$error ++;
|
|
||||||
if ($db->errno() == 'DB_ERROR_RECORD_ALREADY_EXISTS') {
|
|
||||||
$langs->load("errors");
|
|
||||||
setEventMessages($langs->trans("ErrorLoginAlreadyExists", $object->login), null, 'errors');
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
setEventMessages($object->error, $object->errors, 'errors');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!$error && isset($_POST['contactid'])) {
|
if ($contactid > 0) {
|
||||||
$contactid = GETPOST('contactid');
|
$contact = new Contact($db);
|
||||||
|
$contact->fetch($contactid);
|
||||||
|
|
||||||
if ($contactid > 0) {
|
$sql = "UPDATE ".MAIN_DB_PREFIX."user";
|
||||||
$contact = new Contact($db);
|
$sql .= " SET fk_socpeople=".$db->escape($contactid);
|
||||||
$contact->fetch($contactid);
|
if (!empty($contact->socid)) {
|
||||||
|
$sql .= ", fk_soc=".$db->escape($contact->socid);
|
||||||
|
}
|
||||||
|
$sql .= " WHERE rowid=".$object->id;
|
||||||
|
} else {
|
||||||
|
$sql = "UPDATE ".MAIN_DB_PREFIX."user";
|
||||||
|
$sql .= " SET fk_socpeople=NULL, fk_soc=NULL";
|
||||||
|
$sql .= " WHERE rowid=".$object->id;
|
||||||
|
}
|
||||||
|
dol_syslog("usercard::update", LOG_DEBUG);
|
||||||
|
$resql = $db->query($sql);
|
||||||
|
if (!$resql) {
|
||||||
|
$error ++;
|
||||||
|
setEventMessages($db->lasterror(), null, 'errors');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$sql = "UPDATE ".MAIN_DB_PREFIX."user";
|
if (!$error && !count($object->errors)) {
|
||||||
$sql .= " SET fk_socpeople=".$db->escape($contactid);
|
if (GETPOST('deletephoto') && $object->photo) {
|
||||||
if ($contact->socid) {
|
$fileimg = $conf->user->dir_output.'/'.get_exdir($object->id, 2, 0, 1, $object, 'user').'/logos/'.$object->photo;
|
||||||
$sql .= ", fk_soc=".$db->escape($contact->socid);
|
$dirthumbs = $conf->user->dir_output.'/'.get_exdir($object->id, 2, 0, 1, $object, 'user').'/logos/thumbs';
|
||||||
}
|
dol_delete_file($fileimg);
|
||||||
$sql .= " WHERE rowid=".$object->id;
|
dol_delete_dir_recursive($dirthumbs);
|
||||||
} else {
|
}
|
||||||
$sql = "UPDATE ".MAIN_DB_PREFIX."user";
|
|
||||||
$sql .= " SET fk_socpeople=NULL, fk_soc=NULL";
|
|
||||||
$sql .= " WHERE rowid=".$object->id;
|
|
||||||
}
|
|
||||||
dol_syslog("fiche::update", LOG_DEBUG);
|
|
||||||
$resql = $db->query($sql);
|
|
||||||
if (!$resql) {
|
|
||||||
$error ++;
|
|
||||||
setEventMessages($db->lasterror(), null, 'errors');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!$error && !count($object->errors)) {
|
if (isset($_FILES['photo']['tmp_name']) && trim($_FILES['photo']['tmp_name'])) {
|
||||||
if (GETPOST('deletephoto') && $object->photo) {
|
$dir = $conf->user->dir_output.'/'.get_exdir($object->id, 2, 0, 1, $object, 'user');
|
||||||
$fileimg = $conf->user->dir_output.'/'.get_exdir($object->id, 2, 0, 1, $object, 'user').'/logos/'.$object->photo;
|
|
||||||
$dirthumbs = $conf->user->dir_output.'/'.get_exdir($object->id, 2, 0, 1, $object, 'user').'/logos/thumbs';
|
|
||||||
dol_delete_file($fileimg);
|
|
||||||
dol_delete_dir_recursive($dirthumbs);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset($_FILES['photo']['tmp_name']) && trim($_FILES['photo']['tmp_name'])) {
|
dol_mkdir($dir);
|
||||||
$dir = $conf->user->dir_output.'/'.get_exdir($object->id, 2, 0, 1, $object, 'user');
|
|
||||||
|
|
||||||
dol_mkdir($dir);
|
if (@is_dir($dir)) {
|
||||||
|
$newfile = $dir.'/'.dol_sanitizeFileName($_FILES['photo']['name']);
|
||||||
|
$result = dol_move_uploaded_file($_FILES['photo']['tmp_name'], $newfile, 1, 0, $_FILES['photo']['error']);
|
||||||
|
|
||||||
if (@is_dir($dir)) {
|
if (!$result > 0) {
|
||||||
$newfile = $dir.'/'.dol_sanitizeFileName($_FILES['photo']['name']);
|
setEventMessages($langs->trans("ErrorFailedToSaveFile"), null, 'errors');
|
||||||
$result = dol_move_uploaded_file($_FILES['photo']['tmp_name'], $newfile, 1, 0, $_FILES['photo']['error']);
|
} else {
|
||||||
|
// Create small thumbs for company (Ratio is near 16/9)
|
||||||
|
// Used on logon for example
|
||||||
|
$imgThumbSmall = vignette($newfile, $maxwidthsmall, $maxheightsmall, '_small', $quality);
|
||||||
|
|
||||||
if (!$result > 0) {
|
// Create mini thumbs for company (Ratio is near 16/9)
|
||||||
setEventMessages($langs->trans("ErrorFailedToSaveFile"), null, 'errors');
|
// Used on menu or for setup page for example
|
||||||
} else {
|
$imgThumbMini = vignette($newfile, $maxwidthmini, $maxheightmini, '_mini', $quality);
|
||||||
// Create small thumbs for company (Ratio is near 16/9)
|
}
|
||||||
// Used on logon for example
|
} else {
|
||||||
$imgThumbSmall = vignette($newfile, $maxwidthsmall, $maxheightsmall, '_small', $quality);
|
$error ++;
|
||||||
|
$langs->load("errors");
|
||||||
|
setEventMessages($langs->trans("ErrorFailedToCreateDir", $dir), $mesgs, 'errors');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Create mini thumbs for company (Ratio is near 16/9)
|
if (!$error && !count($object->errors)) {
|
||||||
// Used on menu or for setup page for example
|
setEventMessages($langs->trans("UserModified"), null, 'mesgs');
|
||||||
$imgThumbMini = vignette($newfile, $maxwidthmini, $maxheightmini, '_mini', $quality);
|
$db->commit();
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$error ++;
|
|
||||||
$langs->load("errors");
|
|
||||||
setEventMessages($langs->trans("ErrorFailedToCreateDir", $dir), $mesgs, 'errors');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!$error && !count($object->errors)) {
|
$login = $_SESSION["dol_login"];
|
||||||
setEventMessages($langs->trans("UserModified"), null, 'mesgs');
|
if ($login && $login == $object->oldcopy->login && $object->oldcopy->login != $object->login) // Current user has changed its login
|
||||||
$db->commit();
|
{
|
||||||
|
$error++;
|
||||||
|
$langs->load("errors");
|
||||||
|
setEventMessages($langs->transnoentitiesnoconv("ErrorFailedToCreateDir", $dir), $mesgs, 'errors');
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$db->rollback();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if ($caneditpassword) // Case we can edit only password
|
||||||
|
{
|
||||||
|
$object->fetch($id);
|
||||||
|
|
||||||
$login = $_SESSION["dol_login"];
|
$object->oldcopy = dol_clone($object);
|
||||||
if ($login && $login == $object->oldcopy->login && $object->oldcopy->login != $object->login) // Current user has changed its login
|
|
||||||
{
|
|
||||||
$error++;
|
|
||||||
$langs->load("errors");
|
|
||||||
setEventMessages($langs->transnoentitiesnoconv("ErrorFailedToCreateDir", $dir), $mesgs, 'errors');
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$db->rollback();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if ($caneditpassword) // Case we can edit only password
|
|
||||||
{
|
|
||||||
$object->fetch($id);
|
|
||||||
|
|
||||||
$object->oldcopy = dol_clone($object);
|
$ret = $object->setPassword($user, $_POST["password"]);
|
||||||
|
if ($ret < 0)
|
||||||
$ret = $object->setPassword($user, $_POST["password"]);
|
{
|
||||||
if ($ret < 0)
|
setEventMessages($object->error, $object->errors, 'errors');
|
||||||
{
|
}
|
||||||
setEventMessages($object->error, $object->errors, 'errors');
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
$object->oldcopy = clone $object;
|
|
||||||
|
|
||||||
$ret=$object->setPassword($user,$_POST["password"]);
|
|
||||||
if ($ret < 0)
|
|
||||||
{
|
|
||||||
setEventMessages($object->error, $object->errors, 'errors');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Change password with a new generated one
|
// Change password with a new generated one
|
||||||
if ((($action == 'confirm_password' && $confirm == 'yes')
|
if ((($action == 'confirm_password' && $confirm == 'yes')
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* Copyright (c) 2004-2012 Laurent Destailleur <eldy@users.sourceforge.net>
|
* Copyright (c) 2004-2012 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
* Copyright (C) 2004 Sebastien Di Cintio <sdicintio@ressource-toi.org>
|
* Copyright (C) 2004 Sebastien Di Cintio <sdicintio@ressource-toi.org>
|
||||||
* Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
|
* Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
|
||||||
* Copyright (C) 2005-2015 Regis Houssin <regis.houssin@capnetworks.com>
|
* Copyright (C) 2005-2016 Regis Houssin <regis.houssin@capnetworks.com>
|
||||||
* Copyright (C) 2005 Lionel Cousteix <etm_ltd@tiscali.co.uk>
|
* Copyright (C) 2005 Lionel Cousteix <etm_ltd@tiscali.co.uk>
|
||||||
* Copyright (C) 2011 Herve Prot <herve.prot@symeos.com>
|
* Copyright (C) 2011 Herve Prot <herve.prot@symeos.com>
|
||||||
* Copyright (C) 2013-2014 Philippe Grand <philippe.grand@atoo-net.com>
|
* Copyright (C) 2013-2014 Philippe Grand <philippe.grand@atoo-net.com>
|
||||||
@ -1272,7 +1272,7 @@ class User extends CommonObject
|
|||||||
$nbrowsaffected+=$this->db->affected_rows($resql);
|
$nbrowsaffected+=$this->db->affected_rows($resql);
|
||||||
|
|
||||||
// Update password
|
// Update password
|
||||||
if ($this->pass)
|
if (!empty($this->pass))
|
||||||
{
|
{
|
||||||
if ($this->pass != $this->pass_indatabase && $this->pass != $this->pass_indatabase_crypted)
|
if ($this->pass != $this->pass_indatabase && $this->pass != $this->pass_indatabase_crypted)
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user