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;
}