public static validateUserPhoto ( &$userData, $params = [] ) |
public static function validateUserPhoto(&$userData, $params = array())
{
$Errors = false;
if (isset($_FILES["UserPhoto"]) && is_uploaded_file($_FILES["UserPhoto"]["tmp_name"]) && $_FILES["UserPhoto"]["error"] == 0 && erLhcoreClassImageConverter::isPhoto('UserPhoto')) {
$Errors = array();
$dir = 'var/userphoto/' . date('Y') . 'y/' . date('m') . '/' . date('d') . '/' . $userData->id . '/';
erLhcoreClassChatEventDispatcher::getInstance()->dispatch('user.edit.photo_path', array('dir' => &$dir, 'storage_id' => $userData->id));
$response = erLhcoreClassChatEventDispatcher::getInstance()->dispatch('user.edit.photo_store', array('file_post_variable' => 'UserPhoto', 'dir' => &$dir, 'storage_id' => $userData->id));
// There was no callbacks
if ($response === false) {
erLhcoreClassFileUpload::mkdirRecursive($dir);
$file = qqFileUploader::upload($_FILES, 'UserPhoto', $dir);
} else {
$file = $response['data'];
}
if (!empty($file["errors"])) {
foreach ($file["errors"] as $err) {
$Errors[] = $err;
}
} else {
$userData->removeFile();
$userData->filename = $file["data"]["filename"];
$userData->filepath = $file["data"]["dir"];
$response = erLhcoreClassChatEventDispatcher::getInstance()->dispatch('user.edit.photo_resize_150', array('mime_type' => $file["data"]['mime_type'], 'user' => $userData));
if ($response === false) {
erLhcoreClassImageConverter::getInstance()->converter->transform('photow_150', $userData->file_path_server, $userData->file_path_server);
chmod($userData->file_path_server, 0644);
}
}
}
return $Errors;
}
erLhcoreClassModelUserSetting::setSetting('enable_active_list', $validateVisibilityListData['enable_active_list']); erLhcoreClassModelUserSetting::setSetting('enable_close_list', $validateVisibilityListData['enable_close_list']); erLhcoreClassModelUserSetting::setSetting('enable_unread_list', $validateVisibilityListData['enable_unread_list']); $tpl->set('account_updated', 'done'); $tpl->set('tab', 'tab_settings'); } if (isset($_POST['Update'])) { if (!isset($_POST['csfr_token']) || !$currentUser->validateCSFRToken($_POST['csfr_token'])) { erLhcoreClassModule::redirect('user/account'); exit; } $Errors = erLhcoreClassUserValidator::validateAccount($UserData); if (isset($_POST['DeletePhoto'])) { $UserData->removeFile(); } $userPhotoErrors = erLhcoreClassUserValidator::validateUserPhoto($UserData); if ($userPhotoErrors !== false) { $Errors = array_merge($Errors, $userPhotoErrors); } if (count($Errors) == 0) { erLhcoreClassUser::getSession()->update($UserData); $tpl->set('account_updated', 'done'); } else { $tpl->set('errors', $Errors); } } $currentUser = erLhcoreClassUser::instance(); $allowEditDepartaments = $currentUser->hasAccessTo('lhuser', 'editdepartaments'); if ($allowEditDepartaments && isset($_POST['UpdateDepartaments_account'])) { if (!isset($_POST['csfr_token']) || !$currentUser->validateCSFRToken($_POST['csfr_token'])) { erLhcoreClassModule::redirect('user/account');