اذهب إلى المحتوى

محمد المصري12

الأعضاء
  • المساهمات

    276
  • تاريخ الانضمام

  • تاريخ آخر زيارة

كل منشورات العضو محمد المصري12

  1. نعم جربت لكن الاسعار ايضا اعلى بكثير من المزود المحلي بالتأكيد هناك طرق
  2. سلام عليكم معلش انا سألت السؤال ده كتير لكن الاجوبة لم تكن شافيه مثلا انا سجلت في موقع وزارة الداخلية المصرية او وزارة الصحة ، و اتلقى رسائل sms دورية تلقائيه اضافة الى الرسائل التي تلقيتها عند التسجيل. جيد ، قمت مؤخرا بإعداد الوورد برس لموقع مستفى طلب اضافة تحديد مواعيد و استخدمت احد الاضافات الجيدة و تسمى Amelia وجدت ان بها بوابة لل sms ففرحت كثيرا و قلت في نفسي لربما يطلب مني api الخاص بمزود الخدمة في مصر لكنه قام بتحويلي الى موقع twilio الشهير ، لكن اكتشفت ان سعر الرساله في هذا الموقع قد تصل محليا إلى جنيهان و نصف و هذا مبلغ خرافي اذا علمت ان مزودي الخدمة في مصر يقومون بتقديم الرساله لك ب ثلاثون قرشا فقط و ربما بأقل من ذلك و مواقع كثيرة مصرية تستخدم خدمة ارسال الرسائل النصية عبر مزودي الخدمة في مصر ، يعني المستخدم يسجل تجيله رساله فورا برقم مصري مسجل باسم الجهة التي سجل فيها السؤال ازااااااي ؟؟ يعني كل اضافات الوورد برس الخاصة بالمواعيد بلا استثناء تعتمد على twilio و كل اضافات مجلة Joomla تعمد على twilio هل مثلا twilio ممكن يدعم API محلي بسعره ؟ مش منطقي طبعا طيب لو مثلا اضافة الوورد برس فيها خاصية integration عن طريق web hook هل دي ممكن تفيدني؟ طيب لو انا عاوز ابعت من رقمي الشخصي ، يعني بشكل او بآخر اخلي الرسائل بشكل تلقائي تتبعت من رقم تليفوني ؟ كل دي اسئلة بتدور في راسي ، محتاج بس فكرة ابدأ منها او خيط ابحث من خلاله مع وافر الشكر
  3. https://smsvas.vlserv.com/VLSMSPlatformResellerAPI/NewSendingAPI/api/SMSSender/SendSMS و ده ملف ال docs API Technical document V1.4.pdf
  4. ده من ال docs بتاعتهم API complete URL https://smsvas.vlserv.com/VLSMSPlatformResellerAPI/NewSendingAPI/api/SMSSender/SendSMS Request Values Sample (JSON) { "UserName":"myUser", "Password":"123456", "SMSText":"Test", "SMSLang":"e", "SMSSender":"Test", "SMSReceiver":"201542220154", "SMSID":"b0a3a0de-3748-4308-1f93-b6ce1a3a8108" }
  5. سلام عليكم عندي api من شركة مصرية تقدم خدمات رسائل sms بسعر ممتاز ازاي اقدر اربط ال api ده بالوورد برس مثلا او بفورم php يبعت رسالة للمستخدم بعد تعبئته ؟ اي افكار ابدأ منها
  6. سلام عليكم بضبط سايت لطبيب بالوورد برس و طالب اضافة تسمح للعملاء بتحديد مواعيد و طبعا كتير جدا الاضافات دي عادي طلبه تحديدا اضافة تدعم ارسال تنبيهات بالواتس اب و ال sms يعني لما المريض يحجز موعد يجيله رساله فورية على رقمه اللي اتسجل سواء واتس او sms الاضافة الوحيدة اللي لقيتها بتدعم ال 2 دول اضافة اسمها booknetic سعر رسالة ال sms من خلالهم تقريبا 3 جنيهات للرسالة و طبعا ده رقم كبير جدا جدا و مش سامحين اني اتعامل غير مع موقع https://www.twilio.com/ هل عند حضراتكم اي فكرة عن اضافة بديلة تسمحلي اني اتعامل مع مزود خدمة محلي لل sms و api ارخص شوية لل WhatsApp business ؟ و لو فيه اي حلول او افكار اخرى كلي اذان صاغية
  7. سلام عليكم و رحمة الله الان عندي صفحة اضافة بيانات طباعة و نوع من الانواع يتتطلب له ادخال عدد الوان كما في الصورة لما المستخدم بيختار لونين مثلا ، خليت السيتيم يفتحله خانات لادخال البيانات بالعدد اللي اختاره و ده الكود بتاعها $(".colors-count-btn").on('click',function () { var count = $(".colors-count").val(); if (count>0){ $(".co").remove(); var col_inputs = ''; for (i=0 ; i<count ; i++) { col_inputs += ` <div class="col-6 co"> <label class="text-danger">درجة اللون رقم: ${i+1}</label> <div class="input-group"> <div class="input-group-prepend"> <span class="input-group-text prev-deg borders border-DarkBlood" id="inputGroupPrepend"><i class="metismenu-icon pe-7s-drop"></i></span> </div> <input type="text" id="d_degree_${i}" class="form-control degree-code bg-liteRose borderd border-DarkBlood" required> <div class="input-group-append"> <button type="button" data-toggle="modal" data-target="#colorModal" id="degree_${i}" data-id="degree_${i}" class="btn btn-DarkBlood color-degree">إستخرج اللون</button> </div> </div> </div> <div class="col-6 co"> <label class="text-danger">بانتون كود رقم: ${i+1}</label> <div class="input-group"> <div class="input-group-prepend"> <span class="input-group-text prev-pant borderd border-DarkBlood" id="inputGroupPrepend"><i class="metismenu-icon pe-7s-drop "></i></span> </div> <input type="text" class="form-control panton-code bg-liteRose borderd border-DarkBlood" id="p_degree_${i}" required> </div> </div> `; } $(this).parent().parent().parent().after(col_inputs); colorsStatus = true; } //console.log($(".color-degree")); }) خانة اللون زي محضراتكم شايفين اسمها ( degree-code ) و خانة البانتون اسمها ( panton-code) الخطوة التانية : - مررت البيانات دي في ال jQuery ajax كالتالي var colors = []; if (id == "سلك سكرين"){ var degreeColors = $(".degree-code"); // تعريف اللون var pantoneColors = $(".panton-code"); // تعريف البانتون for(var i = 0; i < degreeColors.length; i++){ colors[i] = []; colors[i].push($(degreeColors[i]).val()); colors[i].push($(pantoneColors[i]).val()); } } var colorsJSON = JSON.stringify(colors); var form_data = new FormData(); form_data.append('colors', colorsJSON); و جيت في الباك ايند دخلتها للداتابيز كالتالي <?php // ----- define variables ----------- $name = $_POST['name']; $stat = $_POST['stat']; $colors = json_decode($_POST["colors"]); $des = $_POST['des']; #---------------------------------- // ----- ادخال البيانات العادية الرئيسية ------------ $result = $conn->query("INSERT INTO print(CommonName, stat, des) VALUES ('$name','$stat','$des')"); // ------- اذا تم ادخال البيانات الرئيسيه بنجاح - ادخل لي الالوان كمصفوفة --------- if ($result) { if (sizeof($colors) != 0){ $last_id = $conn->insert_id; $query = "INSERT INTO print_colors (print_id, degree, panton) VALUES "; foreach ($colors as $k => $color){ $query.= "('$last_id','$color[0]','$color[1]')"; if ($k !== sizeof($colors) -1) { $query .= ','; } else { $query .= ';'; } } $result = $conn->query($query); } if ($result){ echo "done"; } else{ echo "Error: " . "<br>" . $conn->error; } } else { echo "Error: " . "<br>" . $conn->error; } } لحد كده الدنيا تمام جدا و البيانات ممتازة و دي من صفحة ال edit بعد ما جبت البيانات من الداتابيز و جبت البيانات كالتالي <?php $query1 = "SELECT * FROM `print_colors` WHERE print_colors.print_id =".$id.";"; // الاستعلام $result = $conn->query($query1); ?> <!-- If Print type is silk Screen - Display Colors --> <?php if ($user['stat'] == 'سلك سكرين'){ foreach ($result as $row){ ?> <div class="col-6 co"> <label class="text-danger">درجة اللون رقم: <?php echo $i; ?></label> <div class="input-group"> <div class="input-group-prepend"> <span class="input-group-text prev-deg borders border-DarkBlood" id="inputGroupPrepend"><i class="metismenu-icon pe-7s-drop"></i></span> </div> <input type="text" id="d_degree_${i}" class="form-control degree-code bg-liteRose borderd border-DarkBlood" value ='<?php echo $row['degree']; ?>' > <div class="input-group-append"> <button type="button" data-toggle="modal" data-target="#colorModal" id="degree_${i}" data-id="degree_${i}" class="btn btn-DarkBlood color-degree">إستخرج اللون</button> </div> </div> </div> <div class="col-6 co"> <label class="text-danger">بانتون كود رقم: <?php echo $i++; ?></label> <div class="input-group"> <div class="input-group-prepend"> <span class="input-group-text prev-pant borderd border-DarkBlood" id="inputGroupPrepend"><i class="metismenu-icon pe-7s-drop "></i></span> </div> <input type="text" class="form-control panton-code bg-liteRose borderd border-DarkBlood" id="p_degree_${i}" value="<?php echo $row['panton']; ?>"> </div> </div> <?php }} ?> الان انا عاوز المستخدم يعدل براحته على الالوان اللي ظاهرة دي ، و ادخل التغيير المطلوب في قاعدة البيانات بسهولة امر update لما نفذته جوا ال foreach ما زبطش معايا نهائي ازاي اقدر اعمل update لمصفوفة الالوان دي ، مع الشكر
  8. شغال اخي ، يمكن عشان انت برا مصر جرب افتحه عن طريق proxy <!doctype html> <html class="no-js" lang="ar" dir="ltr" id="htmlTag"> <head> <meta charset="utf-8"> <title>وزارة الصحة والسكان المصرية - لقاح فيروس كورونا المستجد</title> <base href="/"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no, maximum-scale=1, minimum-scale=1, user-scalable=no" /> <link rel="icon" type="image/x-icon" href="favicon.ico"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css" integrity="sha512-iBBXm8fW90+nuLcSKlbmrPcLa0OT92xO1BIsZ+ywDWZCvqsWgccV3gFoRBv0z+8dLJgyAHIhR35VZc2oM/gI1w==" crossorigin="anonymous"> <link rel="stylesheet" href="styles.dcb7b8c2f4497fddee1c.css"></head> <body> <!-- Version No. 1.0.29 --> <!-- Google Analytics --> <script> (function (i, s, o, g, r, a, m) { i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () { (i[r].q = i[r].q || []).push(arguments) }, i[r].l = 1 * new Date(); a = s.createElement(o), m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m) })(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga'); ga('create', 'UA-185467712-2', 'auto'); </script> <!-- End Google Analytics --> <link rel="stylesheet" id="lang" href="assets/styles/style-ltr.css"> <app-root></app-root> <script type="text/javascript" src="runtime.26209474bfa8dc87a77c.js"></script><script type="text/javascript" src="es2015-polyfills.8324bb31dd8aa5f2460c.js" nomodule></script><script type="text/javascript" src="polyfills.8bbb231b43165d65d357.js"></script><script type="text/javascript" src="scripts.70d76f7af51fd5ea461d.js"></script><script type="text/javascript" src="main.bcab8247d099703a0cdc.js"></script></body> </html> هذا هو السورس كود فقط
  9. حاولت تفحص مصدر صفحة هذا الموقع : https://egcovac.mohp.gov.eg/#/home عن طريق : view-source:https://egcovac.mohp.gov.eg/#/home ولكنه لا يظهر عندي ، ما هي الطريقة المتبعة لإخفاءه السورس كود؟
  10. نجحت العملية ، شكرا جزيلا لك و لكل الاساتذة الافاضل
  11. جربت اخي الفاضل هذه الطريقة لكن ايضا كما حدث مع الاساتذة الافاضل يرفض اي صورة حتى و ان لم تحقق الشرط <script> $(document).ready(function(){ $(".img-validate").change(function(){ var allowedTypes = [ 'image/jpeg', 'image/gif', 'image/png']; var file = this.files[0]; var fileSize = this.files[0].size; var img = document.getElementById('img'); var width = img.clientWidth; var height = img.clientHeight; var MAX_FILE_SIZE = 5 * 1024 * 1024; // 5MB // التحقق من الملف من خلال صيغته if (!file.name.endsWith('.jpg') && !file.name.endsWith('.jpeg') && !file.name.endsWith('.png') && !file.name.endsWith('.gif')){ alert('Restricted File Type, Please Select only image files'); $(".img-validate").val(''); return false; } else if (width > 200){ alert('stooooppppp'); $(".img-validate").val(''); return false; } else if (fileSize > MAX_FILE_SIZE) { alert('الحد الاقصى للصورة 5 ميجابايت'); $(".img-validate").val(''); } else { this.setCustomValidity(""); } }); }); </script>
  12. شكرا لك باش مهندس محمد ابو عواد المشكلة الان انه رافض كل الصور حتى لو ابعادها اقل من 200 و هو الشرط المطلوب اي صورة بيرفضها و يديني رسالة الخطأ الخاصة بالابعاد شكرا لك اخي الكريم تطلع معي نفس النتيجة اللي اخبرني بها المهندس محمد بيرفض اي صورة حتى الصور اللي حققت الشرط بيرفضها
  13. تجد كل الاجوبة على استفساراتك عبر الاطلاع على هذا الرابط https://academy.hsoub.com/learn/javascript-application-development/#AboutCourse موفق ان شاء الله
  14. سلام عليكم عملت سكربت للتحقق من امتداد الصورة و حجمها و ابعادها قبل رفعها $(document).ready(function(){ $(".img-validate").change(function(){ var allowedTypes = [ 'image/jpeg', 'image/gif', 'image/png']; var file = this.files[0]; var height = this.height; var width = this.width; var MAX_FILE_SIZE = 5 * 1024 * 1024; // 5MB var fileSize = this.files[0].size; // التحقق من الملف من خلال صيغته if (!file.name.endsWith('.jpg') && !file.name.endsWith('.jpeg') && !file.name.endsWith('.png') && !file.name.endsWith('.gif')){ alert('Restricted File Type, Please Select only image files'); $(".img-validate").val(''); return false; } // التحقق من ابعاد الصورة else if (height > 200 || width > 200) { alert('Dimention is too Large '); $(".img-validate").val(''); return false; } // التحقق من حجم الملف else if (fileSize > MAX_FILE_SIZE) { alert('الحد الاقصى للصورة 5 ميجابايت'); $(".img-validate").val(''); } else { this.setCustomValidity(""); } }); }); الشرط الخاص بالتحقق من الامتداد يعمل و ممتاز جدا الشرط الخاص بالتحقق من حجم الملف يعمل و ايضا ممتاز اما الشرط الخاص بالتحقق من ابعاد الصورة كأنه مش مكتوب ، لا يعمل نهائيا ما هو الخطأ
  15. محرر رائع جدا و فعلا خفيف عالجهاز ، لو الاقي فيه ميزة deploy to multi ftp server ( ارفع الملفات على اكتر من مسار ftp بنفس الوقت ) يبقى كده حقق الكمال معايا و الميزة دي بالذات اللي مخلياني ماسك في phpstorm رغم انه تقيييل
  16. اضافة Atom one-liner package غير موجودة عندي و الأمر CTRL + ALT + B لم يفعل اي شئ
  17. حاضر هجرب ، بس الملف يفتح بشكله الطبيعي على vs code و على notepad+ و على phpstorm فقط ATOM يظهر بهذا الشكل ال ال Encoding utf-8 بالفعل
  18. سلام عليكم في محاولة لايجاد محرر به بعض مميزات phpstorm و الذي ارغب في تركه بسبب استهلاكه الكبير و الغير طبيعي لموارد الجهاز قمت بتجربة محرر ATOM و هي سريع الفتح لكن الكود يظهر عندي بالشكل التالي ليها حل و لا احذف البرنامج ؟؟؟
  19. نفس الشئ ، الله المستعان ، تعبتك معايا
  20. جربت اغير الترتيب نفس الشئ جه في راسي اكرر الدمج و اغير شرط ON في كل مرة مع اعطاء اسم مختلف للجدول في كل دمج LEFT OUTER JOIN fibers top ON x.top = top.id LEFT OUTER JOIN fibers down ON x.down = down.id جايز اكون بخرف لكن الحقيقة انها اشتغلت كده و طلعت الناتج صح مش عارف اعتمد الاستعلام كده و خلاص و لا الطريقة غلط
  21. SELECT *, x.name AS aname, SUBSTRING(s.username, 1, 25) AS suppname, f.name AS fname FROM order_capsons oc LEFT JOIN suppliersdb s ON s.id = oc.factory LEFT JOIN capson x ON oc.capson_id = x.id LEFT JOIN fibers f ON ( x.top = f.id OR x.down = f.id ) WHERE order_id=".$order['id'].";"; نفس الشئ استاذي ، عند طباعة fname يخرج الاسم المقابل لل x.top و يتجاهل تماما x.down
  22. غيرت الشرط استاذنا الكريم و نفس الناتج
  23. الان لنفرض عندي جدول اسمه capson به حقلين احدهما اسمه top و الاخر down و هما يرمزان للخامة الخاصة بالكبسون و بهما ارقام ، هذه الارقام من المفترض ان نتوجه الى جدول آخر لمقارنتها به و من ثم احضار الاسماء الخاصة بهذه الخامات من هذا الجدول انا عملت الاستعلام كالتالي ، لكن للاسف غلط ، SELECT *, x.name AS aname, SUBSTRING(s.username, 1, 25) AS suppname, f.name AS fname FROM order_capsons o LEFT JOIN suppliersdb s ON s.id = o.factory JOIN capson x ON o.capson_id = x.id INNER JOIN fibers f ON ( x.top AND x.down = f.id ) WHERE order_id=".$order['id']."; لما بطبع نتيجة fname تظهر معي الاسم المطابق للرقم الموجود في x.down فقط انا عاوزه يقارن الرقم اللي موجود في x.top بال id الخاص بجدول الخامات fiber.id و يطبعلي الاسم المطابق و في نفس الوقت يقارن الرقم اللي موجود في x.down بنفس جدول الخامات fiber.id و يطلعلي النتيجة المطابقة هل من سبيل
  24. سلام عليكم الاستعلام كالتالي SELECT * , o.factory AS newfactory, // رقم المورد x.name AS aname FROM order_threads o JOIN thread x ON o.thread_id = x.id JOIN fibers f ON f.id = x.fiber JOIN suppliersdb s ON o.factory = s.id // ربط جدول الموردين بجدول الطلب حتى يتم استدعاء اسم المورد الموافق للرقم WHERE order_id=".$order['id']."; زي منا عامل في الكومنت انا عندي جدول order_threads و داخله حقل اسمه factory بيدخل فيه المورد بالرقم بتاعه مش بالاسم طيب عاوز لما اطبع التقرير اظهر الاسم الموافق للرقم ، المفروض اني اروح لجدول الموردين supplierdb و اعمل علاقة بين اي دي المورد supplierdb.id و بين الرقم اللي موجود في حقل factory بجدول order threads (order_threads.factory) عملت العلاقة دي فعلا بس ما ظهرليش كل النتايج ، نتيجة واحدة بس من اصل 3 ببساطة عاوزه يظهرلي النتائج من جدول order_threads مهما كان عددها طالما حققت شرط ال WHERE بس بدل ما يطبعلي رقم المورد من حقل order_thread.factory يطبعلي اسمه من جدول suppliersdb حقل username لما يلاقي ان id المورد متوافق مع الرقم الموجود في حقل factory ايه خطأي؟
×
×
  • أضف...