برترین های سایت
مطالب محبوب
در حال نمایش مطالب دارای بیشترین امتیاز در 04/12/92 در پست ها
-
1 امتیاز
درس چهارم - عملگر ها
امیررضاتهرانی برای سروش امتیاز داد
با سلام مجدد ببخشید که یه خورده کند پیش میره آموزش :s خب در این درس می خوایم عملگرها (Operators) رو بررسی کنیم.عملگر نمادی ست که کار عملی خاص را انجام می دهد.به عنوان مثال نماد + عملگری است که عمل جمع را انجام می دهد عملگرهای محاسباتی(Arithmetic Operators) خب عملگرهای محاسباتی رو می شه به صورت زیر تقسیم کرد : + برای جمع دو مقدار => $a+$b - برای تفریق دو مقدار => $a-$b * برای ضرب دو مقدار $a*$b / برای تقسیم دو مقدار $a/$b % محاسبه باقیمانده تقسیم دو مقدار $a%$b ++ افزایشی $a++ یا ++$a -- کاهشی $a-- یا --$a این هم یک عدد مثال : [align=left] <?php $a=2; $b=5; $sum=$a+$b; $sub=$b-$a; $multi=$b*$a; $div=$b/$a; $remain=$b%$a; $c=$a; $d=$b; $c--; --$d; echo "megdhar a: ".$a." "; echo "megdhar b: ".$b." "; echo "megdhar jame a va b : ".$sum." "; echo "megdhar tafrighe a va b : ".$sub." "; echo "megdhar zarbe a va b : ".$multi." "; echo "megdhar taghsime a va b : ".$div." "; echo "megdhar baghimande taghsim : ".$remain." "; $a++; ++$b; echo "meghdare a++: ".$a." "; echo "megdhar b++ : ".$b." "; echo "megdhar a-- : ".$c." "; echo "meghdare b-- : ".$d." "; echo "End :)"; ?> [/align] که خروجیش به این صورت هستش ؛ عملگرهای مقایسه ای (Comparison Operators) در PHP تعدادی عملگر وجود دارند که برای مقایسه دو مقدار به کار می روند و به نام عملگرهای مقایسه ای (یا رابطه ای) معروف هست : => کوچکتر مساوی =< بزرگتر مساوی == تساوی =! نا مساوی <> نامساوی > کوچکتر < بزرگتر === همانی اگر بخواهیم مشخص کنید که آیا دو متغیر $a و $b با هم مساوی هستند از علامت == استفاده میکنیم. به عنوان مثال این دستورات رو ببینید : $a=10; $b=10; $a==$b; در دستور سوم چون $a و $b برابرند مقدار true برگردانده می شود و اگر نابرار بودن مقدار false برگردانده میشد. حالا این دستورات رو ببینید : $a=10; $b="10" $a==$b; تو خط سوم باز هم مقدار true برگردانده میشه.چون به طور اتوماتیک در اینجا نوعstring تبدیل به integer میشه و بعد مقایسه انجام میشه اگه بخوایم تبدیل نوع صورت نگیره و مقایسه با انواع یکسان انجام بشه باید از عملگر === استفاده شود : $a=10; $b="10" $a===$b; که دستور سوم مقدار flase برمیگردونه.چون نوع این ۲ متغیر یکی نیستش. دو عملگر != و <> برای مشخص کردن نامساوی بودن دو متغیر یا عبارت به کار میرود. یعنی اگر نامساوی بودن مقدار true برگردانده میشه. از این نوع عملگرها ۴تاش باقی میمونه (کوچکتر،کوچکتر یا مساوی،بزرگتر،بزرگتر یا مساوی ) که خب فکر کنم کارشون کاملا مشخص هستش و نیازی به مثال ندارند. عملگرهای منطقی (Logical Operators) عملگرهای منطقی بر روی عبارات منطقی عمل می کند. به طور مثال اگر بخواهیم بدانیم مقدار متغیر $a بین 1 و 100 هستش یا خیر بعد از تموم شدن متغیرها در مورد اولویت متغیرها صحبت خواهیم کرد. ! نقیض (NOT) => !$b اگر $b نادرست باشد نتیجه درست است و بالعکس && و (AND) => $a && $b اگر $a و $b هر دو درست باشند نتیجه درست است و در غیر این صورت نادرست است || یا => $a || $b اگر $a یا $b درست باشد نتیجه درست است و در غیر این صورت غلط است. and و (AND) => $a and $b مانند && هستش ولی اولویت کمتری دارد. or یا (or) => $a or $b مثل || هستش ولی اولویت کمتری دارد. Xor => $a xor $b در صورتی درست هستش که یا $a یا $b درست باشد.در صورتی که جفتشون درست باشند یا غلط باشند مقدار false برمیگردونه عملگرهای ترکیبی تعدادی از عملگرها در PHP هستند که ترکیبی از ۲ عملگر دیگر هستند : =+ انتساب جمع => $a += $b; این درست مانند این است که بنویسیم : $a=$a+$b; =- انتساب تفریق => $a -= $b; این درست مانند این است که بنویسیم : $a=$a-$b; =* انتساب ضرب => $a *= $b; این درست مانند این است که بنویسیم : $a=$a*$b; =/ انتساب تقسیم => $a /= $b; این درست مانند این است که بنویسیم : $a=$a/$b; =٪ انتساب باقیمانده تقسیم => $a%= $b; این درست مانند این است که بنویسیم : $a=$a%$b; عملگرهای رشته ای (String Operators) یکی از متداول ترین عملی که رشته ها لنجام میشود عمل الحاق کردن دو رشته است.این عمل با . (نقطه) انجام می شود. این رشته را ببینید : $a="joomina"; $b="Forum"; حال اگر با استفاده از $a و $b رشته ی "joominaForum" رو بسازیم میگوییم که این دو رشته با هم الحاق شده اند : $c=$a.$b; اگر هم بخواهیم فاصله بندازیم میتونیم اینجوری کنیم : $space=" "; $c=$a.$space.$b; اینجوری این رشته حاصل میشه : "joomina Forum" تو PHP دو نوع رشته وجود داره : رشته هایی که تو نقل قول دوتایی هستند مانند : "joomina" رشته هایی که در نقل قول یکانی هستند مانند : 'joomina' اگر رشته ای در نقل قول دوتایی قرار بگیرد مانند یک عبارت ارزیابی می شود و اگر در نقل قول یکی باشد مانند یک Literal باهاش رفتار می شود. به این مثال دقت کنید : $a= 100; echo "rotbeye joomina az 100 meghdare $a hastesh"; echo 'rotbeye joomina az 100 meghdare $a hastesh'; خروجی خط دوم اینوری هستش : و خروجی دستور سوم به این صورت هستش : همانجوری که می بینید رشته ای که در نقل قول ۲ تایی قرار دارد ارزیابی می شود. سایر عملگرها یه سری عملگر در PHP هستش که خب در هیچ دسته ای جایی نداره که این ها هستند : عملگر ? این عملگر شرطی را تست کرده بر اساس نتیجه آن ، مقداری را در متغیری قرار می دهد. -
1 امتیازسلام خب فکر نمی کنید سئوالتون خیلی گنگ هستش؟ اگر منظورتون از پیوندها همون چیزیه که تو بلاگفا داریم باید بگم نیازی به ماژول خاصی نیست توسط ماژول منو در خود جوملا و ایجاد یک منو در بخش مدیریت منو می تونید همچین کاری رو انجام بدید تو کتاب اموزشی جومینا کامل توضیح داده شده
-
1 امتیاز
ایجاد بازی آنلاین فلش توسط جوملا
m4mali برای محمدحسین میری امتیاز داد
درود بر شما اینجا یک نگاهی بندازید : http://extensions.joomla.org/extensions/sports-a-games/games -
1 امتیاز
حذف کپی رایت از قالب های اسمارت ادآن
mortexa برای kasraluckblack امتیاز داد
این کارایی که دوستان پیشنهاد دادن همه خوبه ولی لازم نیست... توی فایل منیجر هاست خودت این مسیر رو برو: /public_html/templates/sj_.../includes/lib جای " ... " اسم قالبت نوشته شده! بعد فایل Template.php رو باز کن! متن کپی رایت داخل اون نوشته شده... میتونی اونجا ویرایشش کنی! -
1 امتیاز
ارسال ایمیل با php و کلاس phpmailer
مصطفی صفرعلی برای tarenoco امتیاز داد
ارسال ایمیل با php و کلاس phpmailer ارسال ایمیل از طریق برنامه های سمت سرور و از جمله php، یکی از رایج ترین مباحث کاربردی در نوع خود است که دیر یا زود برنامه نویس زبان php یا لااقل علاقمند استفاده از آن را درگیر خود می کند، اگرچه php به طور پیش فرض توابعی برای ارسال ایمیل در مفسر خود گنجانده است، اما گستره استفاده از این امکان و نیازهای کاربران به حدی است که نمی توان تنها بر آن متکی بود، از طرفی بحث ارسال ایمیل با توجه به محدودیت ها و قابلیت های سرورهای مختلف، گاهی پتانسیل تبدیل شدن به یک مشکل به ظاهر پیچیده را دارد و این چیزی است که بعضا فکر و ذهن برخی از کاربران را مشغول خود می کند، به همین خاطر در این آموزش قصد داریم در حد امکان بپردازیم به نحوه ارسال ایمیل با php و کلاس phpmailer، با این امید که مفید واقع شود. ارسال ایمیل در php با تابع mail برای ارسال ایمیل در php روش های مختلفی وجود دارد، ساده ترین راه، ارسال ایمیل با استفاده از تابع درونی و از پیش تعریف شده ()mail و SMTP بدون بررسی نام کاربری و رمز عبور (authentication) است، معمولا، کافی است این تابع را با چند آرگومان فراخوانی کنید تا ایمیل شما ارسال شود، به طور مثال: <?php //دریافت کننده ایمیل $to = "username@example.com"; //موضوع ایمیل $subject = "ایمیل ساده"; //متن پیام $body = "سلام، \n\n این ایمیل جهت تست ارسال شده است!"; //سربرگ های اضافه $headers = "From: yourname@example.com"; //فراخوانی تابع و ارسال ایمیل if (mail($to, $subject, $body, $headers)) { echo("<p>ایمیل شما با موفقیت ارسال شد</p>"); } else { echo("<p>خطا در ارسال ایمیل! تنظیمات سرور شما از این امکان پشتیبانی نمی کند</p>"); } ?> توضیح: - تابع mail به صورت از پیش تعریف شده در php وجود دارد و تنها کافی است آن را با تکمیل پارامترها، فراخوانی کنیم. - کارکرد صحیح این تابع، تا حدود زیادی بستگی به تنظیم درست موارد مورد نیاز آن در فایل php.ini دارد (از جمله smtp_port ،SMTP ،sendmail_from در سرورهای ویندوز و sendmail_path در سرورهای لینوکس)، در سرورهای اشتراکی، معمولا دسترسی به فایل اصلی php.ini امکان پذیر نیست، بنابراین اگر نتوانید با تابع mail ایمیل ارسال کنید، به احتمال زیاد تنظیمات این فایل به درستی انجام نشده است یا سرور هاست شما، قابلیت ارسال ایمیل را محدود کرده است که باید با پشتیبانی خود در این مورد تماس بگیرید. - همانطور که ملاحظه می کنید، این تابع سه پارامتر اصلی و چند پارامتر فرعی را می تواند در هنگام ارسال ایمیل پوشش دهد، پارامترهای اصلی آدرس ایمیل دریافت کننده، موضوع و متن پیام است، پارامترهای اضافی به صورت سربرگ ها قابل استفاده هستند که به طور مثال می توانند به صورت زیر باشند: <?php $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'X-Mailer: php' . "\r\n"; $headers .= 'Reply-To: username@example.com' . "\r\n"; $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n"; $headers .= 'Cc: Admin@example.com' . "\r\n"; $headers .= 'Bcc: Other@example.com' . "\r\n"; ?> - علامت r\n\ در کدهای بالا برای ایجاد یک خط جدید استفاده می شوند. - MIME یک استاندارد اینترنتی برای ارسال و دریافت ایمیل است (Multipurpose Internet Mail Extensions)، همچنین است SMTP که مخفف (Simple Mail Transfer Protocol) است. ارسال ایمیل به صورت html با تابع mail تابع mail علاوه بر ارسال ایمیل به صورت متن ساده یا plain text برای ارسال متون به صورت صفحات html نیز قابل استفاده است، بدین منظور دو کار را باید در هنگام ارسال ایمیل انجام دهیم: 1- متن پیام ما باید به صورت یک کد html باشد، درست شبیه صفحات ساده وب که به صورت html هستند. 2- در قسمت سربرگ ها که در بالا عنوان شد، سربرگ زیر را برای پشتیبانی از زبان فارسی، به کد خود اضافه کنیم: <?php $headers = 'Content-type: text/html; charset=utf-8' . "\r\n"; ?> به طور مثال: <?php //دریافت کننده ایمیل $to = "username@example.com"; //موضوع $subject = "ارسال ایمیل به صورت html"; //متن پیام به صورت html $body = "<html> <body> سلام، \n\n این ایمیل جهت<b> تست </b>ارسال شده است! </html> </body>"; //سربرگ ها $headers = "From: yourname@example.com \r\n"; $headers .= "Content-type: text/html; charset=utf-8 \r\n"; //ارسال ایمیل if (mail($to, $subject, $body, $headers)) { echo("<p>ایمیل شما با موفقیت ارسال شد</p>"); } else { echo("<p>خطا در ارسال ایمیل! تنظیمات سرور شما از این امکان پشتیبانی نمی کند</p>"); } ?> البته ارسال سربرگ های اضافی همیشه هم ضروری نیست، برخی از سرویس های ایمیل به طور پیش فرض از یونیکد utf-8 استفاده می کنند، اما برای اطمینان از اینکه ایمیل شما در همه سیستم ها خوانا و قابل استفاده باشد، بهتر است سربرگ utf-8 را همراه ایمیل خود ارسال کنید. ارسال فایل ضمیمه با تابع mail در php ارسال ایمیل بدون فایل های ضمیمه یا همان attachment با تابع mail در php کار چندان سختی نیست، اما اگر بخواهیم به همین صورت فایل ها را نیز به همراه نامه الکترونیک خود ضمیمه کنیم، باید چند کار دیگر را نیز انجام دهیم که در ادامه خواهیم گفت؛ ابتدا کد زیر را در نظر بگیرید: <?php //دریافت کننده ایمیل $to = "username@example.com"; //ارسال کننده ایمیل $from = "yourname <yourname@example.com>"; //موضوع $subject = "ارسال ایمیل به همراه ضمیمه"; //کد رندوم boundary $randcode = md5("r",time()); //خط جدید $line = "\r\n"; //یا PHP_EOL //فایل ضمیمه $filename = "phpbook.zip"; //تجزیه و آماده سازی فایل برای ارسال $attachment = chunk_split(base64_encode($filename)); //سربرگ ها $headers = "From: ".$from.$line; $headers .= "MIME-Version: 1.0".$line; $headers .= "Content-Type: multipart/mixed; boundary=\"".$randcode."\""; //متن پیام به صورت ساده $body = "--".$randcode.$line; $body .= "Content-Transfer-Encoding: 7bit".$line.$line; $body .= "این یک ایمیل به همراه ضمیمه است".$line; //متن پیام به صورت html $body .= "--".$randcode.$line; $body .= "Content-Type: text/html; charset=\"utf-8\"".$line; $body .= "Content-Transfer-Encoding: 8bit".$line.$line; $body .= "این یک ایمیل به همراه <b>ضمیمه</b> است".$line; //تنظیمات فایل ضمیمه $body .= "--".$randcode.$line; $body .= "Content-Type: application/zip; name=\"".$filename."\"".$line; $body .= "Content-Transfer-Encoding: base64".$line; $body .= "Content-Disposition: attachment".$line.$line; $body .= $attachment.$line; $body .= "--".$randcode."--"; //ارسال ایمیل if (mail($to, $subject, $body, $headers)) { echo("<p>ایمیل شما با موفقیت ارسال شد.</p>"); } else { echo("<p>خطا در ارسال ایمیل! تنظیمات سرور شما از این امکان پشتیبانی نمی کند</p>"); } ?> کد بالا با استفاده از تابع mail در php، علاوه بر ارسال متن ساده و متن به صورت html قابلیت ارسال فایل ضمیمه (attachment) را نیز دارد. توضیح: - قبل از هر چیز در هنگام ارسال ایمیل با ضمیمه، ما به سربرگی تحت عنوان boundary یا سرحد و کرانه احتیاج داریم، برای تفکیک قسمت های مختلف یک ایمیل (از جمله متن ساده، متن به صورت html و فایل ضمیمه) در استاندارد MIME باید از کدهای رندوم تحت عنوان boundary استفاده کنیم، البته در واقع مهم نیست این کد شامل چه عبارتی (از حروف و اعداد) باشد، مهم این است که سیستم دریافت کننده ایمیل بتواند قسمت های مختلف آن را تفکیک کند، از طرفی این کد نباید در متن پیام تکرار شده باشد، لذا معمولا از یک کد رندوم اختصاصی استفاده می شود. - نکته مهم دیگر استفاده از تابع chunk_split و base64_encode است، به این صورت فایل ما برای انتقال به قطعات کوچکتری تقسیم شده و در چارچوب استاندارد RFC 2045 قابل انتقال است. - همانطور که ملاحظه می کنید، در سربرگ های اولیه، مقادیر multipart/mixed را برای Content-Type در نظر گرفته ایم که این کار به دلیل ضمیمه بودن فایل به ایمیل است. - در دو قسمت میانی کد، دو نوع متن به صورت plain text و text html ارسال کرده ایم که شما بنا بر ضرورت می توانید از هر دو یا تنها از یک روش استفاده کنید. - نکته مهم دیگر استفاده از application/zip برای Content-Type در قسمت مربوط به فایل ضمیمه است، برای بدست آوردن Content-Type فایل های مختلف با فرمت های متفاوت، کافی است آدرس فایل خود را در سرور یا در لوکال هاست در کد زیر به جای متغیر فرضی file جایگزین کرده و آن را اجرا کنید، خروجی، Content-Type فایل شما را نشان می دهد: <?php //تابع نمایش نوع فایل function my_mime_content_type($filename){ $mime_types = array( //files 'txt' => 'text/plain', 'htm' => 'text/html', 'html' => 'text/html', 'php' => 'text/html', 'css' => 'text/css', 'js' => 'application/javascript', 'json' => 'application/json', 'xml' => 'application/xml', 'swf' => 'application/x-shockwave-flash', 'flv' => 'video/x-flv', //images 'png' => 'image/png', 'jpe' => 'image/jpeg', 'jpeg' => 'image/jpeg', 'jpg' => 'image/jpeg', 'gif' => 'image/gif', 'bmp' => 'image/bmp', 'ico' => 'image/vnd.microsoft.icon', 'tiff' => 'image/tiff', 'tif' => 'image/tiff', 'svg' => 'image/svg+xml', 'svgz' => 'image/svg+xml', //archives 'zip' => 'application/zip', 'rar' => 'application/x-rar-compressed', 'exe' => 'application/x-msdownload', 'msi' => 'application/x-msdownload', 'cab' => 'application/vnd.ms-cab-compressed', //audio/video 'mp3' => 'audio/mpeg', 'qt' => 'video/quicktime', 'mov' => 'video/quicktime', 'mpeg' => 'video/mpeg', 'mpe' => 'video/mpeg', 'mpg' => 'video/mpeg', 'wav' => 'audio/wav', 'aiff' => 'audio/aiff', 'aif' => 'audio/aiff', 'avi' => 'video/msvideo', 'wmv' => 'video/x-ms-wmv', //adobe 'pdf' => 'application/pdf', 'psd' => 'image/vnd.adobe.photoshop', 'ai' => 'application/postscript', 'eps' => 'application/postscript', 'ps' => 'application/postscript', //ms office 'doc' => 'application/msword', 'docx' => 'application/msword', 'rtf' => 'application/rtf', 'xls' => 'application/vnd.ms-excel', 'ppt' => 'application/vnd.ms-powerpoint', //open office 'odt' => 'application/vnd.oasis.opendocument.text', 'ods' => 'application/vnd.oasis.opendocument.spreadsheet', ); $ext = strtolower(array_pop(explode('.',$filename))); if (array_key_exists($ext, $mime_types)) { return $mime_types[$ext]; } else { return 'application/octet-stream'; } } //آدرس فایل شما $filename = 'image/file.gif'; //خروجی echo my_mime_content_type($filename); ?> ارسال ایمیل با استفاده از کلاس phpmailer اگرچه کاربرد تابع mail در php بسیار آسان و ساده است، اما این تابع تنها موارد اولیه را پوشش می دهد، به فرض امکان استفاده از SMTP به صورت authentication یا بررسی نام کاربری و کلمه عبور وجود ندارد، یا نمی توان سرور ارسال ایمیل را تغییر داد و محدودیت های دیگری از این دست، لذا برنامه نویسان php بسته ها و کلاس های دیگری بدین منظور نوشته اند که یکی از معروف ترین آنها کلاس phpmailer است، علاوه بر کلاس phpmailer بسته ایمیل PEAR نیز برای php وجود دارد که البته به دلیل قدرت و انعطاف پذیری کلاس phpmailer کم تر مورد استفاده قرار می گیرد. برای شروع آموزش این قسمت ابتدا کلاس مذکور را از لینک زیر دریافت کنید: http://code.google.com/a/apache-extras.org/p/phpmailer به دلیل مسدود بودن خدمات code گوگل برای ip های ایران، می توانید آخرین نسخه آن را از لینک زیر نیز دریافت کنید: دانلود کلاس phpmailer نسخه 5.2.1 - حجم 50 کیلوبایت در نسخه بالا برخی فایل های غیر ضروری مربوط به تست های جانبی کلاس، نسبت به نسخه اصلی حذف شده اند تا از سردرگمی کاربران در مواجه با تعداد زیاد فایل های این بسته جلوگیری شود، زبان فارسی نیز برای خطاها، در قسمت language قرار داده شده است که می توانید با اعمال تغییراتی در فایل class.phpmailer.php از آن نیز استفاده کنید، یادآور می شویم اگر می خواهید این کلاس را به همراه تمام فایل های جانبی در اختیار داشته باشید، بهتر است نسخه سایت گوگل را دریافت کنید، اما اگر داشتن فایل ها و مثال های اصلی برایتان مهم است و چندان اهل کنجکاوی در موارد اضافی و جانبی نیستید، این بسته نیز کامل و مناسب است. استفاده از کلاس بالا بسیار ساده و آسان است، کافی است مطابق الگوی زیر موارد مورد نظر را با توجه به سرور خود تنظیم کرده و فایل را اجرا نمائید. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title> | ارسال ایمیل با کلاس PHPMailer</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <!-- http://webgoo.ir --> </head> <body> <?php require_once('class.phpmailer.php'); $mail = new PHPMailer(true); $mail->IsSMTP(); try { $mail->Host = "mail.example.com"; // آدرس SMTP سرور شما $mail->SMTPAuth = true; // استفاده از SMTP authentication $mail->Username = "yourname@example.com"; // نام کاربری SMTP $mail->Password = "************"; // کلمه عبور SMTP $mail->AddReplyTo('yourname@example.com', 'Your Name'); // افزودن پاسخ به ارسال کننده $mail->AddAddress('username@example.com', 'User Name'); // تنظیم آدرس گیرنده ایمیل $mail->SetFrom('yourname@example.com', 'Your Name'); // تنظیم قسمت ارسال کننده ایمیل $mail->Subject = 'PHPMailer تست'; // موضوع ایمیل $mail->AltBody = 'برنامه شما از این ایمیل پشتیبانی نمی کند، برای دیدن آن، لطفا از برنامه دیگری استفاده نمائید'; // متنی برای کاربرانی که نمی توانند ایمیل را به درستی مشاهده کنند $mail->CharSet = 'UTF-8'; // یونیکد برای زبان فارسی $mail->ContentType = 'text/html'; // استفاده از html $mail->MsgHTML('<html> <body> این یک <font color="#CC0000">تست</font> است! </body> </html>'); // متن پیام به صورت html //$mail->AddAttachment('images/phpmailer.gif'); // ضمیمه کردن فایل $mail->Send(); // ارسال echo "پیام با موفقیت ارسال شد\n"; } catch (phpmailerException $e) { echo $e->errorMessage(); // پیام خطا از phpmailer } catch (Exception $e) { echo $e->getMessage(); // سایر خطاها } ?> </body> </html> توضیح: - همانطور که گفتیم ارسال ایمیل با کلاس phpmailer بسیار آسان و کاربردی است، کافی است ابتدا فایل اصلی برنامه یعنی class.phpmailer.php را در صفحه خود وارد کنید (با استفاده از require یا include)، سپس موارد مورد نیاز را مطابق با سرور و حساب خود تنظیم نمائید. - در قسمت IsSMTP مشخص می کنیم که می خواهیم از SMTP برای ارسال ایمیل استفاده کنیم و برای استفاده از این امکان باید آدرس میل سرور، نام کاربری و کلمه عبور را مطابق الگو تکمیل نمائید. - قسمت AltBody برای کسانی است که برنامه مدیریت ایمیل آنها تنها از متن ساده پشتیبانی می کند و امکان دیدن ایمیل های html را ندارند. - قسمت MsgHTML متن پیام به صورت html را در خود جای می دهد، این متن هم می تواند با فراخوانی یک فایل جانبی (با تابع file_get_contents) باشد یا اینکه به صورت مستقیم وارد شود، به فرض در هنگام کار با فرم های ایمیل می توان متن دریافتی از فرم را به یک متغیر نسبت داده و متغیر را به عنوان محتوای ایمیل ارسالی در نظر گرفت. - اگر نیاز به ضمیمه کردن فایل یا فایل هایی در ایمیل خود دارید، می توانید از قسمت AddAttachment که در مثال بالا غیر فعال شده است، استفاده کنید، ذکر این نکته ضروری است که فایل شما باید از قبل بر روی سرور قرار گرفته باشد و سپس آدرس آن به صورت داینامیک جایگزین شود که خود نیاز به کمی مهارت در برنامه نویسی php دارد. استفاده از SMTP گوگل برای ارسال ایمیل در php با استفاده از کلاس PHPMailer شما می توانید از سایر سرورهای SMTP که در آنها حساب کاربری دارید نیز برای ارسال ایمیل استفاده نمائید، البته در عمل سرویس های ایمیل معمولا پس از مدتی برخی از پورت های عمومی خود را محدود کرده یا تغییر می دهند؛ با این وجود یکی از پرکاربردترین این سرورها، سرویس ایمیل سایت گوگل است که تقریبا محدودیت های آن از سایر موارد مشابه کم تر است، البته در لحظه ای که آین آموزش نوشته می شود، ظاهرا پورت 465 SSL آن برای برنامه های جانبی مسدود شده است و خطای timeout می دهد، اما پورت 587 TLS همچنان کار می کند، در کنار این دو پورت امن، پورت 25 نیز وجود دارد که نیازی به رمزنگاری ندارد، برای اینکه این کد در سرور شما به درستی کار کند، بهتر است همه موارد را بررسی کنید، ارسال ایمیل از این طریق محاسن و در عین حال معایبی دارد، بهترین مزیت آن این است که محدودیت برخی از هاست های اشتراکی را ندارد، توضیح اینکه در بیشتر هاست ها برای ارسال ایمیل محدودیت هایی به صورت روزانه و یا ساعتی قائل می شوند، ظاهرا و به گفته تیم پشتیبانی گوگل، در سرویس این شرکت روزانه بالغ بر 2000 ایمیل از یک اکانت قابل ارسال است، اما معایب این سرویس این است که ممکن است از طرف گوگل پورت های آن مسدود شود یا بدون اطلاع قبلی تغییر پیدا کند و یا به ip های برخی کشورها سرویس ندهد و... که این استقلال برنامه ما را تحت تاثیر قرار می دهد، به هر صورت تصمیم به استفاده یا عدم استفاده از این امکان را به عهده شما می گذاریم. بدین منظور لازم است الگوی بالا را به شکل زیر تغییر دهید: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title> | ارسال ایمیل با کلاس PHPMailer و سایت گوگل</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <!-- http://webgoo.ir --> </head> <body> <?php require_once('class.phpmailer.php'); $mail = new PHPMailer(true); $mail->IsSMTP(); try { $mail->Host = "smtp.gmail.com"; // آدرس SMTP سایت گوگل $mail->SMTPAuth = true; // استفاده از SMTP authentication $mail->SMTPSecure = "tls"; // استفاده از پروتکل امن $mail->Port = 587; // درگاه خروجی سرویس ایمیل گوگل $mail->Username = "yourname@gmail.com"; // نام کاربری حساب گوگل $mail->Password = "************"; // کلمه عبور حساب گوگل $mail->AddReplyTo('yourname@example.com', 'Your Name'); // افزودن پاسخ به ارسال کننده $mail->AddAddress('username@example.com', 'User Name'); // تنظیم آدرس گیرنده ایمیل $mail->SetFrom('yourname@example.com', 'Your Name'); // تنظیم قسمت ارسال کننده ایمیل $mail->Subject = 'PHPMailer تست'; // موضوع ایمیل $mail->AltBody = 'برنامه شما از این ایمیل پشتیبانی نمی کند، برای دیدن آن، لطفا از برنامه دیگری استفاده نمائید'; // متنی برای کاربرانی که نمی توانند ایمیل را به درستی مشاهده کنند $mail->CharSet = 'UTF-8'; // یونیکد برای زبان فارسی $mail->ContentType = 'text/html'; // استفاده از html $mail->MsgHTML('<html> <body> این یک <font color="#CC0000">تست</font> است! </body> </html>'); // متن پیام به صورت html //$mail->AddAttachment('images/phpmailer.gif'); // ضمیمه کردن فایل $mail->Send(); // ارسال echo "پیام با موفقیت ارسال شد\n"; } catch (phpmailerException $e) { echo $e->errorMessage(); // پیام خطا از phpmailer } catch (Exception $e) { echo $e->getMessage(); // سایر خطاها } ?> </body> </html> پس از اجرای کد برای اولین بار، ممکن است سرویس گوگل دسترسی برنامه را مسدود کند تا از شما مجوزهای لازم را دریافت نماید، بدین جهت اگر با خطای authentication مواجه شدید، لازم است که به ایمیل خود مراجعه کرده و با پیروی از دستورالعمل پیام ارسالی از طرف گوگل، مبنی بر تلاش برای استفاده از حساب شما در یک برنامه جانبی، اجازه استفاده از حساب کاربریتان را به برنامه خود بدهید و از نو آن را اجرا کنید، توجه کنید که به اشتباه بر روی لینک ها کلیک نکنید، در غیر این صورت برنامه شما ممکن است مسدود شود و برای ارسال ایمیل از این طریق با مشکل مواجه شوید. ارسال ایمیل در لوکال هاست و WampServer برای ارسال ایمیل از طریق لوکال هاست و برنامه سرور محلی WampServer، با استفاده از SMTP سرویس ایمیل گوگل یا همان GMail، ابتدا لازم است که آخرین نسخه wamp را روی سیستم خود نصب کنید، این برنامه را می توانید از لینک زیر دریافت نمائید. www.wampserver.com پس از نصب برنامه، به دلیل استفاده گوگل از پروتکل های امن و عدم پشتیبانی wamp (به طور پیش فرض) از این امکان، باید تغییراتی در فایل اصلی php.ini اعمال نمائید تا ایمیل شما از این طریق قابل ارسال باشد، لذا پوشه ای که برنامه را در آن نصب کرده اید باز کرده و آدرس زیر را ادامه دهید تا به فایل php.ini برسید. \ bin\apache\apache*.*.**\bin در این فایل با استفاده از نت پد (notepad) یا هر ویرایشگر متنی دیگر و با کمک قابلیت کلمه یاب یا Find، به دنبال عبارت openssl بگردید تا به خط مربوط به extension=php_openssl.dll برسید، اگر در ابتدای این خط علامت ; بود، آن را حذف کنید و فایل خود را ذخیره کرده و برنامه WampServer را (اگر در حال اجرا بود) بسته و مجددا اجرا کنید یا از امکان شروع مجدد آن استفاده نمائید، اکنون اگر تابع ()phpinfo را در یک فایل php خروجی بگیرید، در قسمت Phar امکان OpenSSL support باید فعال یا enabled باشد، در غیر این صورت در هنگام ارسال ایمیل از طریق phpmailer و wamp، پیام زیر را دریافت خواهید کرد. Warning: stream_socket_enable_crypto() [streams.crypto]: this stream does not support SSL/crypto حال همه چیز آماده است تا از کلاس PHPMailer و SMTP گوگل استفاده نمائیم. در پایان مجددا یادآور می شویم که ممکن است برای اولین بار، گوگل کد شما را مسدود کند تا مجوز اجازه و دسترسی برنامه را از شما دریافت نماید، لذا اگر با این خطا در اکانت gmail خود مواجه شدید، باید از دستورالعمل آن پیروی کرده و مجوز دسترسی از حساب خود را به برنامه بدهید. -
1 امتیاز
مشکل چینش پستها در قالب
sahiyan برای ghadirkiani امتیاز داد
شما به منو ها برو تنظیمات منو صفحه اصلیت رو باز کن به انتخاب نوع منو نگاه کن مطالب ویژه است درسته؟ شما نوع منو رو روی مجموعه بلاگ تنظیم کن مشکل دیگه تون: وقتی روی مجموعه بلاگ تنظیم کردی سمت چپ در قسمت"انتخاب طرح بلاگ" مطالب برجسته رو روی تعداد10 و بقیه رو روی 0 تنظیم کن -
1 امتیاز
مشکل با وب مستر تولز
probing_online برای محمدحسین میری امتیاز داد
درود بر شما اینجا به شما هم نحوه حذف لینک و هم اعمالی که بعد از آن اجرا می شود را توضیح می دهد : https://support.google.com/webmasters/answer/164734?hl=en یک راهنمایی از بنده : اگر از امکانات خود گوگل استفاده می کنید بهترین راهنما خود اوست. از راهنمای گوگل استفاده کنید هرگز نه تنها به مشکل بر نمی خورید بلکه به نحو احسن انجام می شود -
1 امتیاز
باز شدن عكسها به شكل پاپ اپ
مصطفی صفرعلی برای m4mali امتیاز داد
گمان می کنم این افزونه ها MG Thumbnails ImageSizerراه گشا باشند. -
1 امتیاز
درخواست راهنمايي براي توضيح اين متن
skmr برای ghadirkiani امتیاز داد
برادر بزرگوار شما به قسمت مدیریت رسانه در جوملا برو(همون پوشه تصاویر) یه پوشه به نام مثلا"ali" بساز بعد چند تا عکس بریز توش بعد به مدیریت مطلبت برو و این کد رو درون مطلبت قرار بده حله تست کردم {gallery}ali{/gallery} -
1 امتیاز
فضای دیسک
m4mali برای مصطفی صفرعلی امتیاز داد
با سلام اگر مشکلتون با حجم دیتابیس هست ، ببینید کدوم جدول هست که حجمش نسبت به باقی جداول بیشتر و نامتعارف هست خالی کردن ( Empty ) جدول session و Repair کردن دیتابیس میتونه تا حدود کمی به افزایش فضای دیتابیس کمک کنه تو فصل 5 آموزش زیر هم یک راه حلی رو هم توضیح دادم اونم ببینید میتونه خیلی موثر باشه http://forum.joomina.ir/topic/19482-%D9%87%D8%AF%DB%8C%D9%87-%D8%A7%DB%8C-%D8%A7%D8%B1%D8%B2%D8%B4%D9%85%D9%86%D8%AF-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%AF%D9%88%D8%B3%D8%AA%D8%AF%D8%A7%D8%B1%D8%A7%D9%86-%D8%AC%D9%88%D9%85%D9%84%D8%A7-%D9%88-%D8%AC%D9%88%D9%85%DB%8C%D9%86%D9%80%D9%80%D9%80 موفق و پیروز باشید یا حق -
1 امتیاز
یک سایت شبیه سایت نرم افزار موبایل بازار
hosseinaqa برای مصطفی صفرعلی امتیاز داد
با سلام خدمت شما : http://extensions.joomla.org/extensions/directory-a-documentation/directory/233 موفق و پیروز باشید یا حق -
1 امتیاز
-
1 امتیاز
-
1 امتیاز
مشکل با کامپوننت k2
ساناز صداقتی برای ghadirkiani امتیاز داد
با توجه به گفته دوستان این افزونه بسیار عالیست اما برای اهل فن و کسانی که بتونند درش تغییراتی ایجاد کرده و اون رو سفارشی کنند یا زهرا(س) -
1 امتیاز
مشکل درماژولBT content slider
hamid1200 برای ghadirkiani امتیاز داد
articles sorted by فارسی شده این افزونه وجود داره سرچ کنید -
1 امتیاز
درخواست افزونه فروش پین کد برای ویرچومارت (جوملا 2.5)
bartar برای رامین انگوتی امتیاز داد
سلام اینطور که معلومه نیست، در پیام خصوصی میتونید درخواست بدید تا نسخه قبلی ارتقا و یا نسخه جدیدی نوشته شود -
1 امتیاز
طراحی سایت با جوملا و عواقب آن!! :)
mbnnik برای Saeed_Shamsi امتیاز داد
با سلام یکی از دوستان عزیز یه تایپی زده بود و در مورد "طراحی سایت با جوملا و عواقب آن!" مواردی رو بیان کرده بود بهتر دیدم چند مورد رو توضیح بدم مورد اول اینکه جوملا یک فریم ورکه و یک cms هم به همراه این فریم ورک اریه میشه که ما توسط این cms داریم از قدت اون فریم ورک استفاده میکنیم و هر کسی برنامه نوسی بلد باشه میتونه توسط اسن فریم ورک یه cms دیگه بنویسه پس بهتر فقط نگیم اسکریپت // عمل هم یک CMS و هم یک CMF کاملی هست امینت : اصلا امنیت یعنی چی ؟ هر موقع بحث امنیت میاد بحث ویندوز و لینوکس // open source or closed source // هم کنارش میاد چون بشخصه با هر دوی این سیستم عامل ها کار کردم و دارم کار میکنم با یک مثال این بحث رو تشریح کنم ما یک گاوصندق داریم این در یک اتاق با چندین لایه بتونی و فولادی و ..داره محافظت میشه اینجا معلومه که هرکسی نمیتونه به راحتی به این دست پیدا کنه ولی اگه کسی بهش دست پیدا کنه نسبتا به راحتی میتونه به خود گاوصندق هم نفوذ کنه .. البته این به اینجا ختم نمیشه اگه این فرد بیاد این راهکار رو در اختیار دیگران هم قرار بده دیگه میشه نورالانور و هر کی که این راه رو بدونه میتونه پدراین گاوصندق رو دراره ! باور کنید ، والا || و شرکت سازنده تا فهمه و بیاد کشف کنه از کجا داره میخوره ..!! حالا اگه این گاوصندق عزیز مارو بدزده دیگه .. (به این میگن closed source که اینجا میشه همون ویندوز) حالا ما میایم این گاوصندق رو وسط میدون آزادی :دی ولی از دور و از چندین جا و حسگرمختلف میپاییمش و هر که از اونجا رد میشه میتونه هر بلایی خواست و تونست سر این گاوصندق عزیز ما بیاره موقعی که ما ببینیم یکی توست از خط قرمز های ما رد بشه با اون کاری نداریم فقط سریع میاییم ون نقطه ضعفش رو برطرف میکنیم و خودمون هم یه برسی هایی باشدت بیشتر روش انجام میدیم و میزاریم اونجا ببمونه و این روند رو طی میکنیم.. (اینم میشه open source) حالا یه سوال در مورد امنیت ؟ // به نظرتون درعمل امنیت کدوم گاوصندقمون بیشتره ؟ جوملا هم یک سیستم اوپن سورسه سئو: موردی که باید بهش اعتراف کرد سئو جوملا 1.5 نسبت به وردپرس پایین بود و باید توسط افزونه ها به دادش میرسیدی ولی سئو و ساختار جوملا در نسخه های 1.6 به بالا کلا تغییر پیدا کرده چون شاهد تغیرات اساس در فریم ورک جوملا بودیم و حالا در جوملا 2.5 و 3 دیگه این حرف معنی نداره که سئوی جوملا پایینه یا حداقل این تفاوت در حد صفر هست حالا اگه از افزونه های مثل sh404sef یا امسال این هم که استفاده کنی به جرات میتونم بگم برا خودش ابر غولی میشه که هرکسی نمیتونه براحتی به پاش برسه // البته این نکته هم خالی از لطف نیست بگم اگه شما اندکی با قواعد سئو اشنا باشید با سئوی خود جوملا هم میتونید غوغا کنید و نیازه آنچنانی به افزونه ها هم ندارید اگه شما فکر میکنید ازفزونه های جوملا یک ضعف امنیتی هست میتونید ازشون استفاده نکنید یا هزینه کنید که افزونه ی اختصاصی تری براتون نوشته بشه ، خوب ما هم باید نون بخوریم درضمن بهتر این رو هم بگم که من با cms های مختلفی کار کردم و به حد کافی با ساختارشون اشنا هستم و دو تا از این مورد ها Joomla! و WP هست زندگیتان سپید یاحق -
1 امتیاز
طراحی سایت با جوملا و عواقب آن!! :)
mbnnik برای Saeed_Shamsi امتیاز داد
با سلام Wine ) خوب مومن اگه میخوای همه چیزهای تجاری ویندوز رو تو لینوکس هم داشته باشی از فلسفه ای اوپن سورس دور میشی ولی wine هم برا خودش عالمیه و عملا یک assimilator خوبی است در مورد عملکرد و کارایی هم جوملا ابهابی یا سوالی در ذهن شما و یا دیگر دوستان باشه مطرح کنید در حد توان و سواد خودم پاسح خواهم داد البته در میان گفته هایم در پست های قبلی سعی کردم مواردی رو برسونم و لی بیش از اون نیاز ندیدم ولی باز من خدمتم یا حق -
1 امتیاز
طراحی سایت با جوملا و عواقب آن!! :)
mbnnik برای Saeed_Shamsi امتیاز داد
با سلام اوپن سورس غمی از این بابت نداره که گاوصندشو بدزدن چون خودش اینو در اختیار عموم قرار داده وکسی هم بخواد به این گاوصندق نفوذ کنه یا بدزده باهاش کاری نداره میگه شما شکستی ، بردی نوش جان ولی بار دومی وجود نداه که تو و امسال تو بتون از همین راه این کار رو تکرار کنند برا همین هم هست که لینوکس جزو امن ترین هاست بدونه چون و چرا البته من با کل سیستم عامل لینوکس موافق نیست !! چون برا خودش معایب اساسی هم داره مثلا شما برا فوتوشاپ معدل اوپن سورسی در حدو اندازه فوتوشاپ ندارید ! یه دونه گیمپ هست که اونم در این حدوواندازه ها نیست ولی بلخر هرچیزی معایب و مزایایی خودشو داره یکی از این مزایایی اوپن سورس امنیت خیلی بلاش هست ولی در بحث cms ها ، cms های موجود مثل سیستم عامل مک میمونند با این تفاوت که اوپن سورس هستند یا حق -
1 امتیاز
طراحی سایت با جوملا و عواقب آن!! :)
mbnnik برای مصطفی صفرعلی امتیاز داد
با سلام سعید جان مثال گاو صندوقت جالب بود امیدوارم اتفاقی برای گاوصندوق شما نیفته . وسط میدون جای خوبی نیست ، برادر . تا بخوایم از این ترافیک لاکردار گذر کنیم ، آش و با جاش میبرن بگذریم .... نرم افزارها همانطور که اشاره کردید یا کد باز هستند و یا کد بسته و یا اگر بازم هست من در جریان نیستم ، شایدم نیمه باز باشند دوستان حالا چرا راه دور بریم ؟! همین ویندوزی که الان داریم ازش استفاده میکنیم ، از کجا مطمئنید که خود مایکروسافت اطلاعاتتون رو سرقت نمیکنه ؟ همین ویندوزی که میلیاردها نفر دارن ازش بعنوان یک سیستم عامل Close Source استفاده میکنن و هیچ راهی هم برای اثباتش نیست . نمیگم مایکروسافت و یا بقیه سازنده ها دزد هستند ولی اگرم باشند چون چیزی رو نمیشه اثبات کرد خودش تبدیل میشه به بزرگترین عیب برای نرم افزارهای کد بسته یا Close Source هدف از این مثال دزد کردن کسی نبود بلکه بیانی واضح تر برای درک بروز مشکلات احتمالی بزرگی (البته میتونند بدون مشکل هم باشند) که میتونه ناشی از نقص در کدنویسی حالا از روی عمد یا سهو در این دست از نرم افزارها باشه بود البته نرم افزارهای اپن سورس هم نمیگم خالی از عیب هستند ولی اهمیت معایب این دسته (اپن سورس) کجا و اون دسته کجا ... موفق و پیروز باشید یا حق -
1 امتیازسلام سعید جان متاسفانه بعضی از دوستان بی انصاف تشریف دارن + تعصب بیجا چون دارن با یه سیستم دیگه کار میکنن و با اون راحتن میگن جوملا بدرد نمیخوره یا برعکس متاسفانه ما هنوز یاد نگرفتیم به عقاید همیدگه احترام بذاریم و یکم خودخواه هستیم من اگه با جوملا راحتم نمیتونم بگم وردپرس خوب نیست یا مثلا ساده و بی فایدست شما که حرفه ای هستی این چیزا رو متوجه میشی ایشالا دوستانمونم حرفه ای بشن یا حداقل رفتار حرفه ای داشته باشن
-
1 امتیازدرود کامپوننت k2 جزو کامپوننت هایی است که قدرت جوملا را نمایان میکند این افزونه خود دارای پلاگین ها و ماژول هایی است مانند: محبوب ترین مطالب-پر نظرترین-سیستم نظردهی-... دانلودhttp://www.jmdownload.ir/download.php?filename=13601583351.zip دانلود فارسی سازhttp://www.jmdownload.ir/download.php?filename=13601583352.zip
-
1 امتیازسلام به همه جومینــــــایی های عزیز در این تاپیک با کامپوننتی آشنا خواهید شد به نام Qlue Sitemap به کمک این افزونه قادر خواهید بود تا به سادگی بتوانید یک نقشه سایت برای سایت ایجاد کنید و یا برای موتورهای جستجو نحوه کار با افزونه بدین صورت است که ابتدا فایل پکیج را نصب کنید . با نصب این بسته یک کامپوننت و سه پلاگین نصب خواهند شد پس از نصب به مدیریت پلاگینها بروید و پلاگینهای زیر را فعال کنید : QMap - Menu QMap - Content QMap - Categories در مرحله بعد از منوی کامپوننتها گزینه Qlue Sitemap را انتخاب کنید . روی دکمه جدید کلیک کنید و یک نام دلخواه برای سایت مپ وارد کنید و تغییرات را ذخیره کنید پس از ذخیره ، شناسه این سایت مپ را به خاطر بسپارید در انتها یک منو از نوع این کامپوننت ایجاد کنید و در تنظیمات آن ، شناسه مربوطه را وارد کنید و تغییرات را ذخیره کنید حال میتوانید در داخل سایتتون به منوی نقشه سایتی که ایجاد کردید مراجعه کنید و نتیجه را ببینید نقشه سایت ایجاد شده به سه دسته تقسیم شده که در دسته اول لینک مجموعه ها و در دسته دوم لینک مطالب و دسته آخر نیز مربوط به لینک منوها میباشد خب حالا میرسیم به تهیه نقشه سایت برای معرفی آن به موتورهای جستجو برای اینکار باید نقشه سایت را به فرمت XML تبدیل کنیم کافیست که در همون منوی نقشه سایت ، در انتهای آدرس در نوار آدرس مرورگر عبارت زیر را اضافه کنیم و اینتر را بزنیم ?format=xml بطور مثال اگر آدرس منوی نقشه سایتتون http://www.mysite.com/sitemap.html باشد ، آنگاه از طریق آدرس زیر نقشه سایت با فرمت XML خواهیم داشت http://www.mysite.com/sitemap.html?format=xml برای مشاهده اسکرین شاتها به سایت رسمی جوملا مراجعه فرمایید لینک معرفی افزونه در سایت رسمی جوملا لینک دانلود از سایت سازنده لینک دانلود از سرور جومینــــــا برای جوملا :25::lj::pj::cj: موفق و پیروز باشید یا حق :64 (17):
-
1 امتیاز
کامپوننت تغییر Favicon برای جوملا 2.5
asemanmgh64 برای sonic69 امتیاز داد
توسط این کامپونت شما می توانید به راحتی و تنها با چند کلیک فاویکون سایت خود را تغییر بدید . دانلود لینک معرفی افزونه در سایت رسمی جوملا لینک دانلود افزونه + فایل زبان فارسی از سایت سازنده ---------------------------------------------------- ویرایش شده توسط مصطفی صفرعلی دلیل ویرایش : افزودن لینک معرفی افزونه در سایت رسمی جوملا + لینک دانلود از سایت سازنده