ايمن ميلاد نشر 21 مارس أرسل تقرير نشر 21 مارس السلام عليكم اقوم بارسال رسالة الي طالب بعد قبول مقترح اريد ارفاق معا رسالة صورة qrcode به معلومات المقترح كيف يمكنني عمل ذلك <?php namespace App\Http\Controllers; use Illuminate\Support\Facades\Notification; // هذا مهم use App\Models\Department; use App\Models\Project; use App\Models\Teacher; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Mail; use App\Mail\ProjectAcceptedMail; use App\Mail\ProjectRejectedMail; use App\Models\User; use App\Notifications\sendproject; use SimpleSoftwareIO\QrCode\Facades\QrCode; use Illuminate\Queue\SerializesModels; use BaconQrCode\Writer; use Illuminate\Bus\Queueable; use Illuminate\Mail\Mailable; class ProjectController extends Controller { public function __construct() { } public function index() { $projects = Project::with(['user', 'Teacher', 'department']) ->orderBy('created_at', 'desc') ->paginate(4); return view('admin.projects.index', compact('projects')); } public function create() { $user = Auth::user(); $department = $user->department; $teachers = Teacher::all(); return view('admin.projects.create', compact('department', 'teachers')); } public function store(Request $request) { $request->validate([ 'title' => 'required|string|max:255', 'summary' => 'required|string', 'problem' => 'required|string', 'proposed_solution' => 'required|string', 'goals' => 'required|string', 'id_dept' => 'required|exists:departments,id', 'id_tech' => 'nullable|exists:teachers,id', ]); $project = Project::create([ 'title' => $request->title, 'summary' => $request->summary, 'problem' => $request->problem, 'proposed_solution' => $request->proposed_solution, 'goals' => $request->goals, 'id_dept' => $request->id_dept, 'id_tech' => $request->id_tech, 'id_user'=> Auth::id(), ]); return redirect()->route('admin.projects.create') ->with('success', 'تم إضافة مقترح بنجاح وفي انتظار رد اللجنة'); } public function show(string $id) { // } public function edit(string $id) { // } public function update(Request $request, string $id) { // } public function destroy(string $id) { // } public function accept($id) { $project = Project::findOrFail($id); // إذا المشروع تم اتخاذ قرار سابقًا if ($project->status !== 0) { return redirect()->back()->with('error', 'تم اتخاذ قرار مسبقًا لهذا المشروع.'); } $project->status = 1; // الموافقة $project->save(); $project->user->notify(new sendproject($project, Auth::user())); Mail::to($project->user->email)->send(new ProjectAcceptedMail($project)); return redirect()->back()->with('success', 'تم قبول المشروع.'); } public function reject(Request $request, $id) { $project = Project::findOrFail($id); if ($project->status !== 0) { return redirect()->back()->with('error', 'تم اتخاذ قرار مسبقًا لهذا المشروع.'); } $project->status = 2; // 2 = مرفوض $project->rejection_reason = $request->reason; // حفظ سبب الرفض $project->save(); Mail::to($project->user->email)->send(new ProjectRejectedMail($project,$request->reason)); return redirect()->back()->with('success', 'تم رفض المشروع.'); } } 1 اقتباس
0 محمد عاطف25 نشر 21 مارس أرسل تقرير نشر 21 مارس لتوليد QR Code يحتوي على بيانات المشروع مثلا بصيغة JSON نستخدم كود كالتالي: $data = [ 'title' => $project->title, 'student' => $project->user->name, 'department' => $project->department->name, ]; $qrCode = QrCode::format('png')->size(200)->generate(json_encode($data)); بعد ذلك نحفظ الصورة مؤقتا حتى نستطيع إرسالها في البريد: $fileName = 'qrcode_' . $project->id . '.png'; $path = storage_path('app/public/' . $fileName); file_put_contents($path, $qrCode); بعد ذلك تمرير الصورة إلى ال Mail من خلال تعديل استدعاء الإيميل: Mail::to($project->user->email)->send( new ProjectAcceptedMail($project, $path) ); بعد ذلك قم بفتح ProjectAcceptedMail.php وقم بتعديله ليكون كالتالي : public $project; public $qrPath; public function __construct($project, $qrPath) { $this->project = $project; $this->qrPath = $qrPath; } بعد ذلك في نفس الملف نقوم بكتابة : public function build() { return $this->view('emails.project_accepted') ->subject('تم قبول مشروعك') ->with([ 'qrPath' => $this->qrPath ]); } وأخيرا عرض QR داخل Blade في ملف emails/project_accepted.blade.php استخدم : <p>تم قبول مشروعك</p> <p>QR Code الخاص بالمشروع:</p> <img src="{{ $message->embed($qrPath) }}"> 1 اقتباس
0 ايمن ميلاد نشر 22 مارس الكاتب أرسل تقرير نشر 22 مارس يظهر خط احمر اسفل QrCode كيف يمكن تنزليه اقتباس
0 عبدالباسط ابراهيم نشر 8 أبريل أرسل تقرير نشر 8 أبريل بتاريخ On 22/3/2026 at 09:34 قال ايمن ميلاد: يظهر خط احمر اسفل QrCode كيف يمكن تنزليه يمكنك تثبيت الحزمة Simple QrCode عبر Composer عن طريق تنفيذ الأمر التالي composer require simplesoftwareio/simple-qrcode بعد انتهاء التثبيت. اذهب إلى أعلى الملف الذي وضعت فيه الكود، وأضف السطر التالي use SimpleSoftwareIO\QrCode\Facades\QrCode; اقتباس
السؤال
ايمن ميلاد
السلام عليكم اقوم بارسال رسالة الي طالب بعد قبول مقترح
اريد ارفاق معا رسالة صورة qrcode به معلومات المقترح كيف يمكنني عمل ذلك
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.