public static function getInstance() { if (is_null(self::$instance)) { self::$instance = new erLhcoreClassImageConverter(); } return self::$instance; }
$imgData['minimize_image'] = $data['minimize_image_data']; unset($data['minimize_image_data']); } try { $widgetTheme->setState($data); $widgetTheme->saveThis(); foreach ($imgData as $attr => $dataImage) { $imgDataItem = base64_decode($dataImage); if ($imgDataItem !== false) { $dir = 'var/tmpfiles/'; $fileName = 'data.' . $data[$attr . '_data_ext']; erLhcoreClassChatEventDispatcher::getInstance()->dispatch('theme.temppath', array('dir' => &$dir)); erLhcoreClassFileUpload::mkdirRecursive($dir); $imgPath = $dir . $fileName; file_put_contents($imgPath, $imgDataItem); if (erLhcoreClassImageConverter::isPhotoLocal($imgPath)) { $widgetTheme->movePhoto($attr, true, $imgPath); } } } $widgetTheme->updateThis(); } catch (Exception $e) { $tpl->set('errors', array(erTranslationClassLhTranslation::getInstance()->getTranslation('theme/import', 'Could not import a new theme!'))); } } $tpl->set('updated', true); } else { $tpl->set('errors', array(erTranslationClassLhTranslation::getInstance()->getTranslation('theme/import', 'Invalid file!'))); } } $Result['path'] = array(array('url' => erLhcoreClassDesign::baseurl('theme/index'), 'title' => erTranslationClassLhTranslation::getInstance()->getTranslation('theme/index', 'Themes')), array('title' => erTranslationClassLhTranslation::getInstance()->getTranslation('theme/index', 'Import theme')));
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); } } } if (count($Errors) == 0) { // Update password if neccesary if ($form->hasInputField('Password') && $form->hasInputField('Password1') && $form->Password != '') { $UserData->setPassword($form->Password); } $UserData->email = $form->Email; $UserData->name = $form->Name; erLhcoreClassUser::getSession()->update($UserData); erLhcoreClassUserDep::setHideOnlineStatus($UserData); erLhcoreClassModelGroupUser::removeUserFromGroups($UserData->id); foreach ($UserData->user_groups_id as $group_id) {
public static function isImageFile($fileName) { $supportedExtensions = array('jpg', 'jpeg', 'png'); if (isset($_FILES[$fileName]) && is_uploaded_file($_FILES[$fileName]["tmp_name"]) && $_FILES[$fileName]["error"] == 0 && erLhcoreClassImageConverter::isPhoto($fileName)) { $fileNameAray = explode('.', $_FILES[$fileName]['name']); end($fileNameAray); $extension = strtolower(current($fileNameAray)); return in_array($extension, $supportedExtensions); } return false; }
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; }