You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

233 lines
11 KiB

<?php
namespace App\Models;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Laravel\Sanctum\HasApiTokens;
class User extends Authenticatable
{
use HasApiTokens, HasFactory, Notifiable;
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
*/
protected $fillable = [
'name',
'email',
'password',
];
/**
* The attributes that should be hidden for serialization.
*
* @var array<int, string>
*/
protected $hidden = [
'password',
'remember_token',
];
/**
* The attributes that should be cast.
*
* @var array<string, string>
*/
protected $casts = [
'email_verified_at' => 'datetime',
];
public static function makeDirectory($image_folder_type)
{
// $image_folder_type = 1;
$year = date("Y");
$month = date("m");
$day = date("d");
if(config('custom.image_folders')[$image_folder_type] == 'setting'){
if (!is_dir(public_path().'/images/setting/'.$year.'/'.$month.'/'.$day)) {
mkdir(public_path().'/images/setting/'.$year.'/'.$month.'/'.$day, 0755, true);
}
return $directory = 'images/setting/'.$year.'/'.$month.'/'.$day.'/';
}
if(config('custom.image_folders')[$image_folder_type] == 'project'){
if (!is_dir(public_path().'/images/project/'.$year.'/'.$month.'/'.$day)) {
mkdir(public_path().'/images/project/'.$year.'/'.$month.'/'.$day, 0755, true);
}
return $directory = 'images/project/'.$year.'/'.$month.'/'.$day.'/';
}
if(config('custom.image_folders')[$image_folder_type] == 'ndis_plan'){
if (!is_dir(public_path().'/images/ndis_plan/'.$year.'/'.$month.'/'.$day)) {
mkdir(public_path().'/images/ndis_plan/'.$year.'/'.$month.'/'.$day, 0755, true);
}
return $directory = 'images/ndis_plan/'.$year.'/'.$month.'/'.$day.'/';
}
if(config('custom.image_folders')[$image_folder_type] == 'service'){
if (!is_dir(public_path().'/images/service/'.$year.'/'.$month.'/'.$day)) {
mkdir(public_path().'/images/service/'.$year.'/'.$month.'/'.$day, 0755, true);
}
return $directory = 'images/service/'.$year.'/'.$month.'/'.$day.'/';
}
if(config('custom.image_folders')[$image_folder_type] == 'gallery'){
if (!is_dir(public_path().'/images/gallery/'.$year.'/'.$month.'/'.$day)) {
mkdir(public_path().'/images/gallery/'.$year.'/'.$month.'/'.$day, 0755, true);
}
return $directory = 'images/gallery/'.$year.'/'.$month.'/'.$day.'/';
}
if(config('custom.image_folders')[$image_folder_type] == 'academy'){
if (!is_dir(public_path().'/images/academy/'.$year.'/'.$month.'/'.$day)) {
mkdir(public_path().'/images/academy/'.$year.'/'.$month.'/'.$day, 0755, true);
}
return $directory = 'images/academy/'.$year.'/'.$month.'/'.$day.'/';
}
if(config('custom.image_folders')[$image_folder_type] == 'news_and_update'){
if (!is_dir(public_path().'/images/news_and_update/'.$year.'/'.$month.'/'.$day)) {
mkdir(public_path().'/images/news_and_update/'.$year.'/'.$month.'/'.$day, 0755, true);
}
return $directory = 'images/news_and_update/'.$year.'/'.$month.'/'.$day.'/';
}
if(config('custom.image_folders')[$image_folder_type] == 'academy_course'){
if (!is_dir(public_path().'/images/academy_course/'.$year.'/'.$month.'/'.$day)) {
mkdir(public_path().'/images/academy_course/'.$year.'/'.$month.'/'.$day, 0755, true);
}
return $directory = 'images/academy_course/'.$year.'/'.$month.'/'.$day.'/';
}
if(config('custom.image_folders')[$image_folder_type] == 'sub_office'){
if (!is_dir(public_path().'/images/sub_office/'.$year.'/'.$month.'/'.$day)) {
mkdir(public_path().'/images/sub_office/'.$year.'/'.$month.'/'.$day, 0755, true);
}
return $directory = 'images/sub_office/'.$year.'/'.$month.'/'.$day.'/';
}
if(config('custom.image_folders')[$image_folder_type] == 'testimonial'){
if (!is_dir(public_path().'/images/testimonial/'.$year.'/'.$month.'/'.$day)) {
mkdir(public_path().'/images/testimonial/'.$year.'/'.$month.'/'.$day, 0755, true);
}
return $directory = 'images/testimonial/'.$year.'/'.$month.'/'.$day.'/';
}
if(config('custom.image_folders')[$image_folder_type] == 'client'){
if (!is_dir(public_path().'/images/client/'.$year.'/'.$month.'/'.$day)) {
mkdir(public_path().'/images/client/'.$year.'/'.$month.'/'.$day, 0755, true);
}
return $directory = 'images/client/'.$year.'/'.$month.'/'.$day.'/';
}
if(config('custom.image_folders')[$image_folder_type] == 'slider') {
if (!is_dir(public_path() . '/images/slider/' . $year . '/' . $month . '/' . $day)) {
mkdir(public_path() . '/images/slider/' . $year . '/' . $month . '/' . $day, 0755, true);
}
return $directory = 'images/slider/' . $year . '/' . $month . '/' . $day . '/';
}
if(config('custom.image_folders')[$image_folder_type] == 'add_section') {
if (!is_dir(public_path() . '/images/add_section/' . $year . '/' . $month . '/' . $day)) {
mkdir(public_path() . '/images/add_section/' . $year . '/' . $month . '/' . $day, 0755, true);
}
return $directory = 'images/add_section/' . $year . '/' . $month . '/' . $day . '/';
}
if(config('custom.image_folders')[$image_folder_type] == 'placement') {
if (!is_dir(public_path() . '/images/placement/' . $year . '/' . $month . '/' . $day)) {
mkdir(public_path() . '/images/placement/' . $year . '/' . $month . '/' . $day, 0755, true);
}
return $directory = 'images/placement/' . $year . '/' . $month . '/' . $day . '/';
}
if(config('custom.image_folders')[$image_folder_type] == 'accomodation') {
if (!is_dir(public_path() . '/images/accomodation/' . $year . '/' . $month . '/' . $day)) {
mkdir(public_path() . '/images/accomodation/' . $year . '/' . $month . '/' . $day, 0755, true);
}
return $directory = 'images/accomodation/' . $year . '/' . $month . '/' . $day . '/';
}
if(config('custom.image_folders')[$image_folder_type] == 'applicant') {
if (!is_dir(public_path() . '/images/applicant/' . $year . '/' . $month . '/' . $day)) {
mkdir(public_path() . '/images/applicant/' . $year . '/' . $month . '/' . $day, 0755, true);
}
return $directory = 'images/applicant/' . $year . '/' . $month . '/' . $day . '/';
}
if(config('custom.image_folders')[$image_folder_type] == 'partner') {
if (!is_dir(public_path() . '/images/partner/' . $year . '/' . $month . '/' . $day)) {
mkdir(public_path() . '/images/partner/' . $year . '/' . $month . '/' . $day, 0755, true);
}
return $directory = 'images/partner/' . $year . '/' . $month . '/' . $day . '/';
}
}
public static function save_image($requestData,$extension,$count,$image_folder_type)
{
$directory = self::makeDirectory($image_folder_type);
$uploaded_name = $requestData->getClientOriginalName();
$uploaded_ext = $requestData->getClientOriginalExtension();
$uploaded_type = $requestData->getClientMimeType();
$uploaded_tmp = $requestData->getPathname();
// Where are we going to be writing to?
$target_path = $directory;
//$target_file = basename( $uploaded_name, '.' . $uploaded_ext ) . '-';
$target_file = md5( uniqid() . $uploaded_name ) . '.' . $uploaded_ext;
$temp_file = ( ( ini_get( 'upload_tmp_dir' ) == '' ) ? ( sys_get_temp_dir() ) : ( ini_get( 'upload_tmp_dir' ) ) );
$temp_file .= DIRECTORY_SEPARATOR . md5( uniqid() . $uploaded_name ) . '.' . $uploaded_ext;
// Is it an image?
if( ( strtolower( $uploaded_ext ) == 'jpg' || strtolower( $uploaded_ext ) == 'jpeg' || strtolower( $uploaded_ext ) == 'png' ) &&
( $uploaded_type == 'image/jpeg' || $uploaded_type == 'image/png' ) &&
getimagesize( $uploaded_tmp ) ) {
// Strip any metadata, by re-encoding image (Note, using php-Imagick is recommended over php-GD)
if( $uploaded_type == 'image/jpeg' ) {
$img = imagecreatefromjpeg( $uploaded_tmp );
imagejpeg( $img, $temp_file);
}
else {
$imagedata = getimagesize($requestData);
$width = $imagedata[0];
$height = $imagedata[1];
$img = imagecreatefrompng( $uploaded_tmp );
$new_image = imagecreatetruecolor ( $width, $height );
imagealphablending($new_image , false);
imagesavealpha($new_image , true);
imagecopyresampled ( $new_image, $img, 0, 0, 0, 0, $width, $height, imagesx ( $img ), imagesy ( $img ) );
$img = $new_image;
// saving
imagealphablending($img , false);
imagesavealpha($img , true);
imagepng ( $img, $temp_file);
// imagepng( $img, $temp_file, 100);
}
imagedestroy( $img);
//moving image
if( rename( $temp_file, ( $target_path . $target_file ) ) ) {
$image_path = $target_path . $target_file;
$doc_name = md5(date('Ymd').'_@id'.$count.uniqid());
return [$image_path,$doc_name];
}
}
if(strtolower( $uploaded_ext ) == 'svg' && $uploaded_type =='image/svg+xml'){
$target_path = $target_path;
$content = file_get_contents($requestData);
if(file_put_contents( $target_path.$target_file,$content)){
return($target_path.$target_file);
}
}
if(strtolower( $uploaded_ext ) == 'docx' || strtolower( $uploaded_ext ) == 'pdf'){
$target_path = $target_path;
$content = file_get_contents($requestData);
if(file_put_contents( $target_path.$target_file,$content)){
return($target_path.$target_file);
}
}
}
}