Merged in bugfix/PMCORE-3620 (pull request #8341)

PMCORE-3620

Approved-by: Julio Cesar Laura Avendaño
This commit is contained in:
Paula Quispe
2022-01-10 20:03:11 +00:00
committed by Julio Cesar Laura Avendaño

View File

@@ -286,92 +286,101 @@ class Users extends BaseUsers
/**
* Get all information about the user
*
* @param string $userUid
*
* @return array $arrayData
* @throws Exception
*/
public function getAllInformation ($userUid)
public function getAllInformation($userUid)
{
if (!isset($userUid) || empty($userUid)) {
throw (new Exception('$userUid is empty.'));
throw new Exception('$userUid is empty.');
}
if (RBAC::isGuestUserUid($userUid)) {
throw new Exception(G::LoadTranslation("ID_USER_CAN_NOT_UPDATE", array($userUid)));
throw new Exception(G::LoadTranslation("ID_USER_CAN_NOT_UPDATE", [$userUid]));
return false;
}
try {
$aFields = $this->load( $userUid );
$fields = $this->load($userUid);
$c = new Criteria( "workflow" );
$c->add( IsoCountryPeer::IC_UID, $aFields["USR_COUNTRY"] );
$rs = IsoCountryPeer::doSelectRS( $c );
$rs->setFetchmode( ResultSet::FETCHMODE_ASSOC );
$rs->next();
$rowC = $rs->getRow();
$c->clearSelectColumns();
$c->add( IsoSubdivisionPeer::IC_UID, $aFields["USR_COUNTRY"] );
$c->add( IsoSubdivisionPeer::IS_UID, $aFields["USR_CITY"] );
$rs = IsoSubdivisionPeer::doSelectRS( $c );
$rs->setFetchmode( ResultSet::FETCHMODE_ASSOC );
$rs->next();
$rowS = $rs->getRow();
$c->clearSelectColumns();
$c->add( IsoLocationPeer::IC_UID, $aFields["USR_COUNTRY"] );
$c->add( IsoLocationPeer::IL_UID, $aFields["USR_LOCATION"] );
$rs = IsoLocationPeer::doSelectRS( $c );
$rs->setFetchmode( ResultSet::FETCHMODE_ASSOC );
$rs->next();
$rowL = $rs->getRow();
$rowC = [];
if (!empty($fields["USR_COUNTRY"])) {
$c->add(IsoCountryPeer::IC_UID, $fields["USR_COUNTRY"]);
$rs = IsoCountryPeer::doSelectRS($c);
$rs->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$rs->next();
$rowC = $rs->getRow();
}
$rowS = [];
if (!empty($fields["USR_CITY"])) {
$c->clearSelectColumns();
$c->add(IsoSubdivisionPeer::IC_UID, $fields["USR_COUNTRY"]);
$c->add(IsoSubdivisionPeer::IS_UID, $fields["USR_CITY"]);
$rs = IsoSubdivisionPeer::doSelectRS($c);
$rs->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$rs->next();
$rowS = $rs->getRow();
}
$rowL = [];
if (!empty($fields["USR_LOCATION"])) {
$c->clearSelectColumns();
$c->add(IsoLocationPeer::IC_UID, $fields["USR_COUNTRY"]);
$c->add(IsoLocationPeer::IL_UID, $fields["USR_LOCATION"]);
$rs = IsoLocationPeer::doSelectRS($c);
$rs->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$rs->next();
$rowL = $rs->getRow();
}
//Calendar
$calendar = new Calendar();
$calendarInfo = $calendar->getCalendarFor( $userUid, $userUid, $userUid );
$aFields["USR_CALENDAR"] = ($calendarInfo["CALENDAR_APPLIED"] != "DEFAULT") ? $calendarInfo["CALENDAR_UID"] : "";
$calendarInfo = $calendar->getCalendarFor($userUid, $userUid, $userUid);
$fields["USR_CALENDAR"] = ($calendarInfo["CALENDAR_APPLIED"] != "DEFAULT") ? $calendarInfo["CALENDAR_UID"] : "";
//Photo
$pathPhoto = PATH_IMAGES_ENVIRONMENT_USERS . $userUid . ".gif";
if (! file_exists( $pathPhoto )) {
if (!file_exists($pathPhoto)) {
$pathPhoto = PATH_HOME . "public_html" . PATH_SEP . "images" . PATH_SEP . "user.gif";
}
//Data
$arrayData = array ();
$arrayData["username"] = $aFields["USR_USERNAME"];
$arrayData["firstname"] = $aFields["USR_FIRSTNAME"];
$arrayData["lastname"] = $aFields["USR_LASTNAME"];
$arrayData["mail"] = $aFields["USR_EMAIL"];
$arrayData["address"] = $aFields["USR_ADDRESS"];
$arrayData["zipcode"] = $aFields["USR_ZIP_CODE"];
$arrayData["country"] = $rowC["IC_NAME"];
$arrayData["state"] = $rowS["IS_NAME"];
$arrayData["location"] = $rowL["IL_NAME"];
$arrayData["phone"] = $aFields["USR_PHONE"];
$arrayData["fax"] = $aFields["USR_FAX"];
$arrayData["cellular"] = $aFields["USR_CELLULAR"];
$arrayData["birthday"] = $aFields["USR_BIRTHDAY"];
$arrayData["position"] = $aFields["USR_POSITION"];
$arrayData["replacedby"] = $aFields["USR_REPLACED_BY"];
if(strlen($arrayData["replacedby"] != 0)){
$oUser = UsersPeer::retrieveByPK( $arrayData["replacedby"] );
$arrayData = [];
$arrayData["username"] = $fields["USR_USERNAME"];
$arrayData["firstname"] = $fields["USR_FIRSTNAME"];
$arrayData["lastname"] = $fields["USR_LASTNAME"];
$arrayData["mail"] = $fields["USR_EMAIL"];
$arrayData["address"] = $fields["USR_ADDRESS"];
$arrayData["zipcode"] = $fields["USR_ZIP_CODE"];
$arrayData["country"] = !empty($rowC) ? $rowC["IC_NAME"] : '';
$arrayData["state"] = !empty($rowS) ? $rowS["IS_NAME"] : '';
$arrayData["location"] = !empty($rowL) ? $rowL["IL_NAME"]: '';
$arrayData["phone"] = $fields["USR_PHONE"];
$arrayData["fax"] = $fields["USR_FAX"];
$arrayData["cellular"] = $fields["USR_CELLULAR"];
$arrayData["birthday"] = $fields["USR_BIRTHDAY"];
$arrayData["position"] = $fields["USR_POSITION"];
$arrayData["replacedby"] = $fields["USR_REPLACED_BY"];
if(strlen($arrayData["replacedby"] != 0)) {
$oUser = UsersPeer::retrieveByPK($arrayData["replacedby"]);
$arrayData["replacedbyfullname"] = $oUser->getUsrFirstname() . ' ' . $oUser->getUsrLastname();
}
$arrayData["duedate"] = $aFields["USR_DUE_DATE"];
$arrayData["calendar"] = $aFields["USR_CALENDAR"];
if(strlen($aFields["USR_CALENDAR"] != 0)){
$arrayData["calendarname"] = $calendar->calendarName( $aFields["USR_CALENDAR"] );
$arrayData["duedate"] = $fields["USR_DUE_DATE"];
$arrayData["calendar"] = $fields["USR_CALENDAR"];
if(strlen($fields["USR_CALENDAR"] != 0)) {
$arrayData["calendarname"] = $calendar->calendarName($fields["USR_CALENDAR"]);
}
$arrayData["status"] = $aFields["USR_STATUS"];
$arrayData["department"] = $aFields["DEP_UID"];
$arrayData["status"] = $fields["USR_STATUS"];
$arrayData["department"] = $fields["DEP_UID"];
if (strlen($arrayData["department"]) != 0) {
$oDepart = DepartmentPeer::retrieveByPk( $arrayData["department"] );
$oDepart = DepartmentPeer::retrieveByPk($arrayData["department"]);
$arrayData["departmentname"] = $oDepart->getDepTitle();
}
$arrayData["reportsto"] = $aFields["USR_REPORTS_TO"];
$arrayData["userexperience"] = $aFields["USR_UX"];
$arrayData["reportsto"] = $fields["USR_REPORTS_TO"];
$arrayData["userexperience"] = $fields["USR_UX"];
$arrayData["photo"] = $pathPhoto;
return $arrayData;