<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های علی مجیدی</title>
        <link>https://virgool.io/feed/@majidi</link>
        <description>https://alimajidi.com</description>
        <language>fa</language>
        <pubDate>2026-06-10 20:09:59</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/8257/avatar/DhCiEK.jpg?height=120&amp;width=120</url>
            <title>علی مجیدی</title>
            <link>https://virgool.io/@majidi</link>
        </image>

                    <item>
                <title>متد upsert لاراول Laravel 9</title>
                <link>https://virgool.io/@majidi/%D9%85%D8%AA%D8%AF-upsert-%D9%84%D8%A7%D8%B1%D8%A7%D9%88%D9%84-laravel-9-zr77oqzjzeb2</link>
                <description>این متد می تواند توسط یک کوئری چندین row در دیتابیس ایجاد کند. در صورتی که یکی از مقدار های داده شده قبلا در دیتابیس وجود داشته باشد، به جای نشان دادن خطا، مقدار های آن ردیف بروزرسانی خواهند شد. ورودی اول مقدار هایی است که میخواهیم ذخیره یا بروز شوند و ورودی دوم آرایه ای از ستون ها است که می توان تکراری بودن داده ها را بر اساس آن تشخیص داد.User::upsert(     
[         
 [&#039;id&#039; =&gt; 1, &#039;email&#039; =&gt; &#039;taylor@example.com&#039;],
 [&#039;id&#039; =&gt; 2, &#039;email&#039; =&gt; &#039;dayle@example.com&#039;],     
],     
 &#039;email&#039;
);</description>
                <category>علی مجیدی</category>
                <author>علی مجیدی</author>
                <pubDate>Thu, 07 Apr 2022 16:10:26 +0430</pubDate>
            </item>
                    <item>
                <title>مخفی کردن وزن در ووکامرس Woocommerce</title>
                <link>https://virgool.io/@majidi/%D9%85%D8%AE%D9%81%DB%8C-%DA%A9%D8%B1%D8%AF%D9%86-%D9%88%D8%B2%D9%86-%D8%AF%D8%B1-%D9%88%D9%88%DA%A9%D8%A7%D9%85%D8%B1%D8%B3-fuonk71obnep</link>
                <description>چجور میشه وزن کالا رو نمایش نداد تو صفحه محصول ؟ جهت مخفی کردن &quot;وزن&quot; در قسمت قالب ووکامرس کد زیر را در فانکشن قالب کپی کنید :add_filter( &#039;wc_product_enable_dimensions_display&#039;, &#039;__return_false&#039; );در  نگارش 3.4.5 تست شده است .</description>
                <category>علی مجیدی</category>
                <author>علی مجیدی</author>
                <pubDate>Thu, 11 Oct 2018 11:13:53 +0330</pubDate>
            </item>
                    <item>
                <title>آموزش ساخت ربات مترجم تلگرام</title>
                <link>https://virgool.io/@majidi/%D8%B1%D8%A8%D8%A7%D8%AA-%D9%85%D8%AA%D8%B1%D8%AC%D9%85-%D8%AA%D9%84%DA%AF%D8%B1%D8%A7%D9%85-pn26rokt5mzt</link>
                <description>سلام دوستان با آموزش جدید ساخت ربات مترجم در خدمتتون هستم.یه سری ربات به درد بخور رو چند وقت پیش نوشته بودم، در هفته آینده آموزش ساخت این ربات ها رو در براتون قرار میدم. شاید به دردتون بخورده،لیست ربات ها :ربات مترجم با استفاده از api گوگلربات ساخت Short Linkربات ساخت Qr codeربات دانلود عکس و ویدیو از اینستاگرامربات دانلود ویدیو از یتوبربات قرعه کشی ارسال پیام برای اعضاء رباتو چندتای دیگه ...در هنگام نوشتن این ربات های تمام سعی ام این بوده که خیلی ساده و روان کد نویسی کنم تا هر کسی سورس ربات رو داشته باشه بتونه باهاش کار کنه و تغییراتش رو اعمال کنه. سورس ربات تلگرام (index.php) :&lt;?php
define(&#039;API_KEY&#039;,&#039;500900601:AAF8DumK_dHT9LI8ec0BSBA0_5952&#039;); 
$telegram = json_decode(file_get_contents(&#039;php://input&#039;),true);
$user_id = $telegram[&#039;message&#039;][&#039;chat&#039;][&#039;id&#039;];
$text = $telegram[&#039;message&#039;][&#039;text&#039;];
if($text == &quot;/start&quot;)
		message($user_id , &#039;سلام به ربات مترجم طوبی خوش امدید. &#039;);	
else{
		$translation = translate(&#039;en&#039;, &#039;fa&#039;, $text);
		message($user_id , $translation);	
	}
//Send Method
function bot($method,$datas=[]){
	 $url = &quot;https://api.telegram.org/bot&quot;.API_KEY.&quot;/&quot;.$method; $ch = curl_init();
	  curl_setopt($ch,CURLOPT_URL,$url); 
	  curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); 
	  curl_setopt($ch,CURLOPT_POSTFIELDS,$datas); 
	  $res = curl_exec($ch); 
	  if(curl_error($ch)){
		var_dump(curl_error($ch)); 
	  }else{ 
		return json_decode($res); 
	  } 
}
// Send Message 		
function message($user_id , $text){
	bot(
	&#039;sendMessage&#039;, [
		&#039;chat_id&#039;=&gt; $user_id,
		&#039;text&#039;=&gt; $text,
		&#039;reply_markup&#039; =&gt; json_encode( [&#039;keyboard&#039; =&gt; [[&quot;فارسی به انگلیسی&quot;,&quot;انگلیسی به فارسی&quot;
]],&#039;one_time_keyboard&#039;=&gt;true,&#039;resize_keyboard&#039;=&gt;true ] )
	]);				
}
//translate from google
function translate($source, $target, $text) {	
    $response 		= requestTranslation($source, $target, $text);
    $translation 	= getSentencesFromJSON($response);
    return $translation;
}
function requestTranslation($source, $target, $text) {
    $url = &quot;https://translate.google.com/translate_a/single?client=at&amp;dt=t&amp;dt=ld&amp;dt=qca&amp;dt=rm&amp;dt=bd&amp;dj=1&amp;hl=es-ES&amp;ie=UTF-8&amp;oe=UTF-8&amp;inputm=2&amp;otf=2&amp;iid=1dd3b944-fa62-4b55-b330-74909a99969e&quot;;
    $fields = array(
        &#039;sl&#039; =&gt; urlencode($source),
        &#039;tl&#039; =&gt; urlencode($target),
        &#039;q&#039; =&gt; urlencode($text)
    );
    $fields_string = &quot;&quot;;
    foreach($fields as $key=&gt;$value) {
        $fields_string .= $key.&#039;=&#039;.$value.&#039;&amp;&#039;;
    }
    rtrim($fields_string, &#039;&amp;&#039;);
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POST, count($fields));
    curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_ENCODING, &#039;UTF-8&#039;);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($ch, CURLOPT_USERAGENT, &#039;AndroidTranslate/5.3.0.RC02.130475354-53000263 5.1 phone TRANSLATE_OPM5_TEST_1&#039;);
    $result = curl_exec($ch);
    curl_close($ch);
    return $result;
}
function getSentencesFromJSON($json) {
    $sentencesArray = json_decode($json, true);
    $sentences = &quot;&quot;;
foreach ($sentencesArray[&quot;sentences&quot;] as $s) {
        $sentences .= $s[&quot;trans&quot;];
    }
    return $sentences;
}نکته:1- ابتدا یک ربات ایجاد کنید ( با سرچ کوچیک میتونید آموزش های تصویری زیادی پیدا کنید ) و بعد از ساخت توکن رو کپی کنید و در لاین 2 فایل در قسمت &quot;توکن&quot; کپی کنید .2- وب سایتتون حتما باید دارای گواهینامه ssl باشد، آدرس رو در مرورگر با https شروع کنید.3-آدرس زیر را به همراه توکن و آدرس فایل آپلود شده در مرورگر اجرا کنید : https://api.telegram.org/bot(Token)/setWebhook?url=https://(Address)/index.php</description>
                <category>علی مجیدی</category>
                <author>علی مجیدی</author>
                <pubDate>Fri, 31 Aug 2018 19:33:35 +0430</pubDate>
            </item>
                    <item>
                <title>جلوگیری از تایپ حروف غیر مجاز در ورودی ها PHP</title>
                <link>https://virgool.io/@majidi/%D8%AD%D8%B1%D9%88%D9%81-%D8%BA%DB%8C%D8%B1%D9%85%D8%AC%D8%A7%D8%B2php-c9a6lx9psqef</link>
                <description>سلام دوستان ویرگولیقصد دارم یه سری کدهای به درد بخور php رو باهاتون به اشتراک بزارم، شاید به روزی به دردتون بخوره .باید input ها رو مقاوم کنیم تا کسی نتونه کدهای بیخود سمت ما ارسال کنه و شیطنت رو در نطفه خفه کنیم .function checkString($input){
 if (preg_match(&#039;/^[a-zA-Z0-9-آابپتثجچحخدذرزژسشصضطظعغفق  کگلمنوهی]+$/&#039;, $input) != 0)
 return true;
 else
        return false;
}با کمک preg_match مشخص میکنیم که ورود ما حتما باید از بین این ( a-zA-Z0-9-آابپتثجچحخدذرزژسشصضطظعغفق  کگلمنوهی ) کارکتر ها باشد.یا حق</description>
                <category>علی مجیدی</category>
                <author>علی مجیدی</author>
                <pubDate>Wed, 29 Aug 2018 11:12:18 +0430</pubDate>
            </item>
            </channel>
</rss>