where('status', 'created')->where('type', 'tentcard')->first(); if(!is_null($job)) { //$user = DB::table("users")->where('user_id', $job->user_id)->first(); //$response = LambdaRequest::getrequest('ums', 'contact/get_all', ['search' => json_encode([]), 'keyword' => "", 'start' => 0, 'length' => 9999, 'fields' => '["msl_code","doctor_image","user_info"]', 'belowme' => true, 'source' => 'dynamodb' ], $user->access_token ); $conts = DB::table("contacts")->select('id', 'name', 'contact_id', 'user_id', 'employee_code', 'rep_name', 'position_name', 'msl_code', 'created_date')->whereBetween('created_date', [date("Y-m-d H:i:s", strtotime($job->start_date) + 19800 ), date("Y-m-d H:i:s", strtotime($job->end_date) + 19800 ) ])->get(); $contacts = []; foreach($conts as $cont) { $contacts[$cont->msl_code] = $cont; } $headers = ['TM', 'Emp ID', 'HQ', 'Dr Name', 'MSL Code', 'Created Date']; $csv = implode(',', $headers) . "\n";//Column headers foreach($contacts as $contact) { $csv.= $contact->rep_name.','.$contact->employee_code.','.$contact->position_name.','.$contact->name.','.$contact->msl_code.','.$contact->created_date."\n"; } $folder = storage_path('app/public'); $fileName = date("Y-m-d", strtotime($job->start_date)).'-'.date("Y-m-d", strtotime($job->end_date)).'.csv'; print_r($folder); print_r($fileName); $csv_handler = fopen ($folder .'/'. $fileName,'w'); fwrite ($csv_handler,$csv); fclose ($csv_handler); // $folder = storage_path('app/public/'.$job->type); // $fileName = $contact->user_info->employee_code.'-'.$user->name.'-'.date("Y-m-d", strtotime($job->start_date)).'-'.date("Y-m-d", strtotime($job->start_date)).'.zip'; // exec('cd '.$folder.'; zip "'.$fileName.'" ' . implode(' ', $files)); // $zip = new \ZipArchive(); // $folder = storage_path('app/public/'.$job->type); // $fileName = $contact->user_info->employee_code.'('.$user->name.')-'.$job->start_date.'-'.$job->start_date.'.zip'; // if ($zip->open($folder, \ZipArchive::CREATE)== TRUE) // { // foreach ($files as $value){ // $zip->addFile($folder.'/'.$value, $value); // } // $zip->close(); // } //print_r($fileName); } //print_r($job); } protected function generate($contact, $job) { $folder = storage_path('app/public/'.$job->type); $templatename = 'template.png'; switch($job->type) { case 'stickeraw': $pdfname = str_replace(' ', '_', $contact->employee_code).'-'.str_replace(' ', '_', $contact->name).'-Sticker.pdf'; print_r($pdfname); if(!file_exists($folder.'/'.$pdfname)) { $outputImage = $this->retimage($folder.'/'.$templatename); file_put_contents($folder.'/'.'qrcode-'.$contact->id.'.png', file_get_contents( 'https://api.qrserver.com/v1/create-qr-code/?size=200&data=https://breathefree.cttr.in/tracking/'.$contact->id.'/'.$contact->user_id )); $qrimg = $this->retimage($folder.'/'.'qrcode-'.$contact->id.'.png'); imagecopyresized($outputImage,$qrimg,70,312,0,0,190,190,250,250); $font = storage_path('app').'/fonts/Poppins-Bold.ttf'; $white = imagecolorallocatealpha($outputImage, 255, 255, 255, 0); imagettftext($outputImage, 27, 0, 309, 340, $white, $font, 'Dr. ' . str_replace('Dr', '', str_replace('.', '', $contact->name) ) ); $filename = 'sticker-'.$contact->id.'.png'; imagepng($outputImage, $folder.'/'.$filename); imagedestroy($outputImage); exec('convert ' .$folder.'/'.$filename. ' '.$folder.'/'.str_replace(' ', '_', $contact->employee_code).'-'.str_replace(' ', '_', $contact->name).'-Sticker.pdf'); exec('rm '.$folder.'/'.$filename); exec('rm '.$folder.'/'.'qrcode-'.$contact->id.'.png'); } return $pdfname; break; } } protected function retimage($image) { $size = getimagesize($image); switch ($size['mime']) { case 'image/jpeg': $photoimg = imagecreatefromjpeg($image); break; case 'image/png': $photoimg = imagecreatefrompng($image); break; case 'image/jpeg': $photoimg = imagecreatefrompng($image); break; default: # code... break; } return $photoimg; } }