رفتن به مطلب

lion

کاربر سایت
  • تعداد ارسال ها

    112
  • تاریخ عضویت

  • آخرین بازدید

پست ها ارسال شده توسط lion

  1. فایل های XML در تمام مرورگرهای استاندارد ، قابل مشاهده هستند . کد زیر یک فایل ساده XML را نشان می دهد .

    نکته : همانطور که قبلا اشاره کردیم و می دانید ، فایل های XML خروجی مثل فایل های HTML بر روی صفحه ندارند و فقط برای انتقال و نگهداری اطلاعات استفاده می شوند .

     

     

    <note> <to>Hamed</to> <from>Ali</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body></note>

     

     

    همانطور که هنگام مشاهده فایل XML در مرورگر متوجه شدید ، مرورگرها کدهای XML را به جند رنگی نمایش می دهند . مثلا نام تگ ها را به رنگ قرمز و رنگ متن ها را مشکی نشان می دهند . این کار برای خوانایی و درک بهتر کدها صورت می گیرد .

    همچنین علامت های ( + ) و ( - ) در کنار تگ ها و المنت هایی که دارای عنصر فرزند هستند ، قرار می گیرند ، که به وسیله آنها می توانید تگ را باز کرده و یا ببندید .

    برای مشاهده فایل XML بدون علامت های ( + ) و ( - ) ، بر روی صفحه در مرورگر کلیک سمت راست کرده و گزینه " View Page Source " را انتخاب نمایید .

     

    نمایش یک فایل خراب XML در مرورگر :

     

    اگه فایل XML ای که می خواهید آن را مشاهده نمایید ، دارای اشکال ساختاری یا error باشد ، مرورگر قادر به نمایش صحیح آن نخواهد بود و یک پیام اشکال را بر روی صفحه نمایش می دهد

  2. با سلام مجدد خدمت دوستان عزیز ببخشید دیر شد ولی خب بالاخره این قسمت از آموزش رو هم گذاشتم امیدوارم به خوبی استفاده کنید:.

    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

     

    یک سند مرتب و ساختار یافته XML ، سندی است که دارای Syntax صحیح این زبان باشد . مهمترین قوانینی که در XML باید رعایت نمود را در بخش های قبل تشریح کرده ایم . این قوانین به صورت خلاصه عبارتند از :

     

    اسناد XML حتما بایستی دارای یک تگ root یا مادر باشند که سایر تگ های فایل ، درون آن تعریف می شوند .

    تمامی تگ های XML باید دارای تگ انتهایی باشند ، به جز تگ Declration .

    تگ های XML به بزرگ و کوچک بودن حروف حساس هستند .

    تگ های XML باید به ترتیب صحیح و درست قرار بگیرند .

    مقادیر خواص تگ های XML حتما باید بین دو علامت " " یا ' ' قرار بگیرند .

    مثال : در کد مثال زیر ، یک سند مرتب XML را نشان داده ایم :

     

     

    <note> <to>Hamed</to> <from>Ali</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body></note>

     

     

     

    اعتبار سنجی اسناد XML با DTD :

     

    یک سند مرتب XML علاوه بر اینکه دارای ساختاری صحیح است ، باید با قوانین و استانداردهای یک سند ( DTD ( Document Type Definition مطابقت داشته باشد .

    هدف از تهیه یک سند DTD برای یک فایل XML ، تعیین ساختار کل سند است . این سند DTD ، ساختار کلی فایل XML را با تعیین لیست المنت های آن مشخص می سازد .

     

    اضافه کردن یک سند DTD به یک فایل XML :

     

    به وسیله تک < Doctype! > در ابتدای یک فایل XML می توان آن را به یک سند DTD پیوند زد . در کد زیر این مسئله نشان داده شده است :

     

     

    <note> <!DOCTYPE note SYSTEM "Note.dtd" > <to>Hamed</to> <from>Ali</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body></note>

     

     

    کد فایل DTD :

     

    کد فایل DTD در جدول زیر نمایش داده شده است . به ارتباط این کد با کد فایل XML دفت نمایید . این فایل تمام المنت های فایل XML را به همراه نام ها و ترتیب آنها را مشخص ساخته است :

    راهنمایی : DTD خود یک روش و زیان برای اعتبار سنجی اسناد XML است . در آینده ، آموزش این زیان را نیز به سایت اضافه خواهیم کرد .

     

    <!DOCTYPE note  [    <!ELEMENT note (to,from,heading,body) >    <!ELEMENT to (#PCDATA) >    <!ELEMENT from (#PCDATA) >    <!ELEMENT heading (#PCDATA) >    <!ELEMENT body (#PCDATA) >  ] >

     

     

    اعتبار سنجی اسناد XML به وسیله XML Schema :

     

    کنسرسیوم جهانی وب ( W3C ) روشی با ساختار مشابه XML را برای اعتبار سنجی اسناد XML تعیین کرده است . این روش به XML Schema معروف می باشد . در قطعه کد زیر ، استفاده از XML Schema را برای اعتبار سنجی فایل XML به کار برده ایم . به ارتباط آن با فایل XML دقت نمایید :

    راهنمایی : XML Schema خود یک روش و زیان برای اعتبار سنجی اسناد XML است . در آینده ، آموزش این زیان را نیز به سایت اضافه خواهیم کرد .

     

    <xs:element name="note" ><xs:complexType >  <xs:sequence >     <xs:element name="to" type="xs:string"/ >     <xs:element name="from" type="xs:string"/ >     <xs:element name="heading" type="xs:string"/ >     <xs:element name="body" type="xs:string"/ >  </xs:sequence ></xs:complexType ></xs:element >

     

  3.  

    « به نام خداوند هستی بخش »

     

     

     

     

    با سلام و عرض احترام فراوان خدمت دوستان و کاربران گرامی

     

     

    با توجه به استقبال کاربران از سرویس های میزبانی دی سی هاست در تایپیک اصلیدی سی هاست به مناسبت ماه مبارک رمضان 60% تخفیف در سفارش های ماهانه به مدت 7 روز در نظر گرفته شده است .

     

     

    امید است که رضایت شما کاربران را فراهم آوریم .

     

     

     

     

    ==>> دی سی هاست تا مدت 7 روز استرداد مبلغ پرداختی کاربران خود را در صورت عدم رضایت بدون چون و چرا، تضمین مینماید . واضح است که این مساله بیانگر اعتماد ما به خدمات ارایه شده است که در سایه اعتماد کاربران و مشتریان گرانمایه شرکت حاصل شده است <<==

     

     

    60 % تخفیف ویژه ماه رمضان در سفارش ماهانه

     

     

    تایپیک اصلی دی سی هاست :

     

     

    ▆▇دی سی هاست ▇ فروش ویژه هاست میزبانی وب ▇انواع نمایندگی▇▆

     

    کد تخفیف ماهانه : R9KKRN562Y

     

     

    ارتباط با ما :

     

    دی سی هاست ==> لینک ها تنها برای اعضای سایت قابل نمایش است.

    Y! ID : stephenloren756

    E - mail : mail.dchost.ir

    شماره پیامک : ??????????

    شماره تماس : 09363046613

     

    ** پنل میزبانی سایتتون رو بر اساس میزان مصرف خودتون انتخاب کنید **

     

     

     

     

     

  4. اصلا خوب نیست کلا خیلی محدودی آدم ازش سیر میشه ...

     

     

    خب ببینید محدودیتش به علت اینه که در ایران هستیم و ایران هم وضعش رو خودتون میدونید. من IPhone5s دارم یه چند وقت رفته بودیم کانادا اون خیلی از امکانات فعال بود خیلی از کارها آزاد می شد و...

     

    و خیلی عالی بود و وقتی برگشتیم تهران متوجه شدم که آیفون در ایران اصلا بدرد نمی خوره و تنها هرکی دستش بگیره استفاده خاصی ازش نمی بره و براش مانند یک گوشی معمولی خواهد بود (البته بحث کیفیت جداست)

     

    پس در کل ایفون در ایران از نظر امکانات بدرد نمی خوره

  5. شرکت اپل طبق روال سال های گذشته در نخستین هفته از ماه ژوئن "کنفرانس جهانی توسعه دهندگان اپل" که با نام WWDC 2014 شناخته می شود را در شهر کالیفرنیا برگزار کرد. در این کنفرانس به عنوان بزرگترین گردهمایی سالانه اپل از آخرین دستاوردهای نرم افزاری این شرکت رونمایی شد و طی آن دو سیستم عامل OS X Yosemite و iOS 8 معرفی شدند. شرکت اپل پیش بینی کرد که نسخه جدید سیستم عامل موبایلی آن موسوم به iOS 8 حدود دو ماه دیگر روی گوشی هوشمند آیفون 6 به دست کاربران می رسد.

  6. با سلام خدمت دوستان امیدوارم از این آموزش لدت کافی رو ببرید

     

    در این قسمت یاد خواهید گرفت که یک متن ، تصویر و... ای را به چرخش در آورید ... . در ابتدا باید متن یا تصویری که می خواهید به چرخش در بیاید را انتخاب نمائید

    در ابتدا در بخش STYLE خود یک کلاس با نام rotate ایجاد نمائید :

     

    <style type="text/css">.rotate:hover{-moz-transform:rotate(360deg);-moz-transition:600ms ease-in;-ms-transform:rotate(360deg);-ms-transition:600ms ease-in;-webkit-transform:rotate(360deg);-webkit-transition:600ms ease-in;-o-transform:rotate(360deg);-o-transition:600ms ease-in;}</style>

     

     

    <style type="text/css">.rotate:hover{-moz-transform:rotate(360deg);-moz-transition:600ms ease-in;-ms-transform:rotate(360deg);-ms-transition:600ms ease-in;-webkit-transform:rotate(360deg);-webkit-transition:600ms ease-in;-o-transform:rotate(360deg);-o-transition:600ms ease-in;}</style>

     

     

    در کد فوق در ابتدا ما کلاس rotate را به صورت hover تعریف کرده ایم ، یعنی وقتی عملی رخ دهد که اشاره ماوس روی آن قرار گیرد ، در قسمت های بعدی لازم است چهار مقدار را در ابتدا توضیح دهیم :

     

    moz-transform : این دستور برای اجرا شدن در مرورگر فایرفاکس می باشد.

    ms-transform : این دستور برای اجرا شدن در مرورگر اینترنت اکسپلورر می باشد.

    webkit-transform : این دستور برای اجرا شدن در مرورگرهای webkit همانند سافاری می باشد.

    o-transform : این دستور نیز برای اجرا شدن در مرورگر opera می باشد.

     

    نکته مهم : این دستورات در css3 به صورت قرار دادی برای انواع مرورگرها تعریف شده اند.

     

    دستور ratate :

     

    دستور rotate ، درجه چرخش را مشخص می کند ، همانطور که در کد بالا مشاهده می نمائید ، ما از 360deg( یعنی 360 درجه) استفاده نموده ایم.

     

    دستور transition :

     

    این دستور برای مشخص کردن سرعت چرخش می باشد که بر حسب میلی ثانیه می باشد ، ما در این قسمت آن را برابر با 600 قرار داده ایم ، همچنین مقدار ease in که یکی از پارامترهای دستور transition می باشد ، ease in باعث شروع چرخش به صورت آهسته می شود.

     

    کد اجرا و فراخوانی کلاس :

     

    <img width="55" height="55" border="0" src="آدرس شما"class="rotate" /><img width="55" height="55" border="0" src="آدرس شما"class="rotate" /><img width="55" height="55" border="0" src="آدرس شما"class="rotate" /><img width="55" height="55"  src="آدرس شما"class="rotate" />

     

     

    <img width="55" height="55" border="0" src="آدرس شما"class="rotate" /><img width="55" height="55" border="0" src="آدرس شماg"class="rotate" /><img width="55" height="55" border="0" src="آدرس شما"class="rotate" /><img width="55" height="55"  src="آدرس شما"class="rotate" />

     

     

    آموزش به پایان رسید امیدوارم استفاده برده باشید.

    • Like 1
  7. دوستان این دهمین قسمت آموزش WHMCS می باشد که مربوط به :

    منو Clients

     

     

     

    این منو از 8 آیتم اصلی تشکیل شده است که به ترتیب :

     

    1 - View/Search Clients : با زدن این گزینه لیست تمام کاربران را به همراه تعداد سرویس ها و .... را مشاهده میکنید.

     

    2 - Add New Client : این گزینه همانند گزینه عضویت در ناحیه کاربری عمل میکند و جهت عضویت از طریق ادمین عمل میکند.

     

    3 - Products/Services : شامل کلیه سرویس ها می باشد که دارای زیر منو با دسته بندی نوع سرویس است که با کلیک بر روی خود Products/Services کلیه سرویس ها را مشاهده میکند و یا از طریق زیر منو آن ، نوع سرویس خاص مثلا هاستینگ را مشاهده خواهید کرد

     

    4 - Service Addons : این گزینه لیست تمامی ادون هایی که کاربران در هنگام سفارش، درخواست داده اند را مشاهده میکنید.

     

    5 - Domain Registrations : این گزینه کلیه دامنه های ثبتی توسط کاربران در سیستم شما را همراه با جزئیات نشان خواهد داد.

     

    6 - Cancellation Requests : این گزینه به شما این امکان را میدهد تا درخواستهای کنسل سرویس ، که توسط کاربران ارسال شده است را مشاهده نمایید تا بر اساس توضیح کاربر درباره آن تصمیم و اقدام نمایید.

     

    7 - Manage Affiliates : این گزینه، لیست کاربرانی که قسمت بازاریابی اکانت خود را از ناحیه کاربری فعال نموده اند را به همراه جزئیات (بالانس بازاریابی و ...)*نمایش میدهد

     

    8- Mass Mail Tools : با استفاده از این گزینه میتوانید به کلیه کاربران خود و یا نوع خاص از کاربران که از سرویس خاصی استفاه میکنند و همچنین خرید های پرداخت نشده و یا فعال ایمیل ارسال کنید که کاملا توضیح خواهیم داد

    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    امیدوارم این آموزش مورد قبول واقع شده باشد

  8. دوستان این نهمین قسمت آموزش WHMCS می باشد که مربوط به :

    تنظیم ساعت WHMCS

     

     

    با توجه به عدم تطابق ساعت سرورها با ساعت ایران مشکلاتی جزئی در این سیستم با توجه به تفاوت زمانی ایران با ساعت سرور وجود دارد که برای رفع این مشکل دو راه حل وجود دارد:

     

    1- در پوشه public_html و درون htaccess کد زیر را قرار دهید (معمولا در وب سرورهای آپاچی جواب میدهد):

     

     

    SetEnv TZ Asia/Tehran

    2- در پوشه ای که WHMCS را نصب نموده اید فایل configuration.php را ویرایش نمایید و کد زیر را بعد از

     

    <?php 

     

     

     

    به آن اضافه کنید:

     

    date_default_timezone_set('Asia/Tehran');

     

     

    مورد دوم در اکثر سرور ها به درستی عمل خواهد کرد

    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    امیدوارم این آموزش مورد قبول واقع شده باشد

  9. مطلب خوبی بودش لیون عزیز..اما خب لاقل کپی میکنی اون ستاره هاشم ویرایش کن..

    اینجوری کیفیت کارت محفوظ تر میشه:97:

     

    این بخش رو یکی از دوستان عضو به بنده داد و درخواست داشت بزارم ولی باز هم تشکر ;)

  10. خواص تگ های XML :

    تگ های XML نیز همانند تگ های HTML می توانند دارای خواص باشند . خواص برای هر تگ توضیحات و اطلاعات بیشتری را ارایه می دهد .

    همانطور که قبلا مشاهده کرده اید تگ های HTML می توانند خواصی داشته باشند . مثلا در تگ < img > خاصیت src تعیین کننده آدرس عکس مورد نظر است .

    در مثال زیر یک تگ XML را تعریف کرده ایم که دارای خاصیتی به نام Type است . این خاصیت نوع فایل را مشخص می سازد :

     

     

    < file Type = " gif " >  Computer.gif  </file>

     

     

    خواص XML حتما بایستی در بین دو علامت " " یا ' ' قرار بگیرند :

     

    مثلا درتگ زیر هر دو حالت را نشان داده ایم که درست می باشند .

     

     

    < person age = " 30 "  >  Reza  </person> < person age = ' 30 '  >  Reza  </person>

     

     

     

    نکته : اگر مقدار خاصیت خودش دارای کاراکتر " بود از کاراکتر ' استفاده نمایید . مثال :

     

    < person name = ' Alireza " Farhadi " '  > student </person>

     

    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    تفاوت خواص و المنت ها در XML :

    به دو قطعه کد XML زیر دقت نمایید :

    در حالت اول age یک خاصیت برای تگ person است . اما در حالت دوم به صورت یک المنت برای آن در آمده است . هر دو حالت اطلاعات یکسانی را ارائه کرده و خروجی یکسانی خواهند داشت . اما روش دوم بهتر بوده و توصیه می شود .

    زیرا هم ظاهر برنامه مرتبتر بوده و هم اعمال تغییرات به آن در آینده راحت تر خواهد بود .

     

    < person age="18">   < firstname > Anna< /firstname >   < lastname > Smith < /lastname >< /person > 

     

     

     

     

    < person >    < age > 18 < /age>   < firstname > Anna< /firstname >   < lastname > Smith < /lastname >< /person >

     

     

    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    راه بهتر تعریف خواص در XML :

    به سه قطعه کد زیر دقت نمایید :

     

    دو حالت اول date به صورت یک خاصیت تعریف شده است :

     

    <note date="10/01/2008">  <to>Tove</to>  <from>Jani</from>  <heading>Reminder</heading></note>

     

    در حالت دوم date به صورت یک المنت فرزند برای تگ note تعریف شده است :

     

    <note>  <date>10/01/2008</date>  <to>Tove</to>  <from>Jani</from>  <heading>Reminder</heading></note>

     

    و در حالت سوم date به صورت یک المنت فرزند برای تگ note تعریف شده و هر یک از مقادیر آن نیز به صورت یک المنت فرزند درونش تعریف شده است :

     

    <note>  <date>      <day>10</day>      <month>01</month>      <year>2008</year>  </date>  <to>Tove</to>  <from>Jani</from>  <heading>Reminder</heading></note>

     

     

    نتیجه گیری :

     

    حالت سوم بهترین و اصولی ترین روش برای تعریف تگ ها و خواص آنها در XML است . با وجود اینکه حجم کد بیشتری داشته ، ولی خونایی و ترتیب بهتری دارد و اعمال تغییرات به آن در آینده نیز راحتر خواهد بود .

    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    تا حد امکان از بکار بردن خواص در XML خودداری کنید :

    تعریف اطلاعات در خواص تگ های XML می تواند کمی ظاهر برنامه را پیچیده و ایجاد تغییرات در آن را سخت تر نماید . بهتر است به جای استفاده از خواص مقدار آنها را در المنت های XML تعریف کنید .

    اشکالات عمده استفاده از خواص برای تعریف اطلاعات عبارتند از :

     

    خواص نمی توانند چند مقداری باشند یعنی چند مقدار را درون خود جای دهند اما المنت های XML این قابلیت را دارند .

    خواص نمی توانند ساختار درختی و سلسله مراتبی داشته باشند اما المنت های XML این قابلیت را دارند .

    خواص را در آینده به راحتی نمی توانید تغییر یا توسعه دهید اما المنت های XML دراین مورد بسیار بهتر هستند .

     

    --------------------------------------------------------------------------------------------------------------------------------------------------

    امیدوارم این آموزش هم براتون مفید بوده باشد.

  11. اسناد XML شامل المنت های XML می شوند .

    یک المنت XML ، شامل تمام چیزهایی که از تگ ابتدایی عنصر تا تگ انتهایی آن قرار دارند ، می شود .

    اجزای المنت ها می تواند شامل موارد زیر باشد :

     

    المنت های دیگر ( تگ های دیگر XML ) .

    متن ( text ) .

    خواص المنت ها ( attributes ) .

    یا مجموعه ای از موارد فوق .

    مثال : در مثال زیر یک قطعه کد ساده XML را قرار داده ایم . سپس به تشریح المنت های درون آن پرداخته شده است . به مثال دقت نمایید :

     

     

    <bookstore>  <book category="CHILDREN">      <title>Harry Potter</title>      <author>J K. Rowling</author>      <year>2005</year>      <price>29.99</price>  </book>  <book category="WEB">      <title>Learning XML</title>      <author>Erik T. Ray</author>      <year>2003</year>      <price>39.95</price> </book></bookstore>

     

     

    تشریح المنت های مثال :

     

    در کد بالا تگ های < bookstore > و < book > ، در اصطلاح elements contents هستند ، زیرا خود شامل المنت های دیگر می شوند .

    تگ < book > دارای یک خاصیت ( attribute ) به نام category می باشد ، که اطلاعاتی راجع به آن را ارائه می کند .

    المنت هایی مثل < title > و یا < year > در اصطلاح text content هستند ، زیرا شامل متن می باشند .

    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    قوانین نام گذاری در XML :

    نکات و قوانین زیر را در تعیین نام برای تگ های XML رعایت نمایید :

     

    نام تگ ها می تواند شامل حروف ، اعداد و یا سایر کاراکترها باشد .

    نام ها نمی توانند با یک عدد شروع شوند .

    نام ها نمی توانند با عبارت xml آغاز شوند ( مثل xml , XML و ... ) .

    نام ها نمی توانند شامل فاصله باشند .

    چند روش صحیح نام گذاری :

     

    در نام گذاری تگ های XML ، بهتر است به روش های زیر عمل کرده و نکات آنها را رعایت نمایید :

    - نام ها را طوری انتخاب نمایید که گویای کار خود باشند ، به عبارت دیگر توضیح مختصری راجع به تگ ارائه دهند . مثلا تگ < first_name > برای نام و یا < last_name > برای نام خانوادگی مناسب است .

    - نام ها بهتر است کوتاه و ساده باشند . مثلا < book_title > ، نام مناسبی است و نه < the_title_of_the_book > .

    - از استفاده از کاراکتر " - " اجتناب کنید . اگر نامی مثل < first-name > بسازید ، ممکن است برنامه فکر کند شما می خواهید name را از first جدا نمایید .

    - همچنین از استفاده از کاراکتر نقطه " . " پرهیز کنید . اگر نامی مثل < first.name > بسازید ، ممکن است برنامه فکر کند name خاصیتی برای first است .

    - از استفاده از علامت " : " هم خودداری نمایید . زیرا این علامت در XML برای استفاده در namespace ها ذخیره شده و به کار بردن آن error ایجاد می کند .

  12. فایل های XML دارای یک ساختار درخت وار هستند که از بالا به پایین ، از عنصر ریشه ( root ) شروع شده و به ترتیب به شاخه ها و برگ ها ( leaves ) می رسد .

    در مثال زیر یک فایل ساده XML را به شما نشان داده ایم . سپس به تشریح ساختار آن پرداخته شده است :

     

     

     

    <?xml version="1.0" encoding="ISO-8859-1" ?>  <note>       <to>Hamed</to>      <from>Ali</from>      <heading>Reminder</heading>      <body>Don't forget me this weekend!</body>  </note>

     

     

    سطر اول فایل ، خط اعلان برنامه است و اعلام می کند که فایل XML جاری از XML نسخه 1.0 و روش انکدینگ encoding="ISO-8859-1" استفاده کرده است .

    خط بعدی ، المنت ریشه ( root ) فایل را تعیین می کند :

     

     

    <note>

     

     

     

    چهار خط بعدی ، هر کدام یک المنت فرزند ( child ) را برای المنت ریشه تعیین کرده است .

     

     

      <to>Hamed</to>      <from>Ali</from>      <heading>Reminder</heading>      <body>Don't forget me this weekend!</body>

     

     

    در نهایت ، در خط آخر نیز ، المنت ریشه بسته شده است .

     

     

    </note>

     

    فایل فوق در واقع یک نامه از Ali به Hamed بوده ، که حاوی پیامی برای وی است . XML یک زبان ساده و خود تعریف بوده و نام تمام المنت ها توسط طراح نامه انتخاب شده است .

    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

     

    تشریح ساختار فایل های XML به صورت کلی :

     

    تمامی فایل های XML ، باید دارای یک المنت ریشه ( root ) بوده و سایر المنت ها درون آن تعریف می شوند .

    شکل کلی یک فایل XML باید به صورت زیر باشد :

     

    <root>    <child>        <subchild>.....</subchild>   </child></root>

     

     

    عبارات مادر ( parent ) , فرزند ( child ) و خواهر یا برادر ( sibling ) برای تشریح ارتباط بین المنت های هر فایل XML به کار می رود .

    المنت های parent می توانند دارای children بوده و فرزندان یک parent با هم ، خواهر یا برادر هستند . هر المنت می تواند ، برای خود متن و خواص نیز داشته باشد ( همانند عناصر HTML ).

     

    تشریح ساختار یک فایل XML با عکس و نمودار :

     

    مثال : در مثال زیر یک فایل XML را به شما نمایش داده ایم ، که شامل مقداری اطلاعات است . ارتباط بین عناصر آن را در نمودار زیر نشان داده ایم .

    المنت <bookstore> المنت مادر parent ، فایل XML است . هر عنصر <book> یک فرزند المنت <bookstore> که خود دارای 4 فرزند <title> , <author> , <year> , <price> می باشد .

     

     

    <bookstore>   <book category="COOKING">       <title lang="en">Everyday Italian</title>       <author>Giada De Laurentiis</author>       <price>30.00</price>   </book>   <book category="CHILDREN">       <title lang="en">Harry Potter</title>       <author>J K. Rowling</author>       <price>29.99</price>   </book>   <book category="WEB">       <title lang="en">Learning XML</title>       <author>Erik T. Ray</author>       <price>39.95</price>   </book></bookstore>

     

     

     

     

     

    1404808430511.gif

  13. خب این هم از قسمت سوم آموزش :

    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    تمامی تگ های XML بایستی یک تگ انتهایی داشته باشند :

    برخی تگ ها را می توان بدون داشتن تگ انتهایی بست . مثل تگ < img > یا تگ < br/ > .

     

    < img src="Pic.gif" /> < br/ >

     

     

    اما در XML ، شما مجاز نیستید تگی را بدون تگ پایانی تعریف کنید و حتما هر تگ باید یک تگ متناظر پایانی داشته باشد .

     

    نحوه صحیح تعریف تگ های xml:

     

    < to > Hamed < /to > < from > Ali < /from >

     

     

     

    نکته : تنها تگی در XML که دارای تگ پایانی نیست ، تگ تعریف ورژن XML یا Declration است که برای تعیین نسخه XML در ابتدای اسناد XML قرار می گیرد . این تگ دارای تگ پایانی نیست .

     

    < ?xml version="1.0" encoding="utf-XML" ? >

     

    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    تگ های XML به حروف بزرگ و کوچک حساس هستند :

    تگ های XML به حروف بزرگ و کوچک حساس هستند . برای مثال تگ < Letter > با < letter > متفاوت است . همچنین تگ ابتدایی و انتهایی باید دارای حروف بزرگ و کوچک یکسانی باشند ، در غیر اینصورت error رخ خواهد داد .

    به مثال های زیر دقت نمایید :

    XML تنها استثنای تگهای

     

    < ?xml version="1.0" encoding="utf-XML" ? >

     

    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    تگ های XML به حروف بزرگ و کوچک حساس هستند :

    تگ های XML به حروف بزرگ و کوچک حساس هستند . برای مثال تگ < Letter > با < letter > متفاوت است . همچنین تگ ابتدایی و انتهایی باید دارای حروف بزرگ و کوچک یکسانی باشند ، در غیر اینصورت error رخ خواهد داد .

    به مثال های زیر دقت نمایید :

     

    < from > This is NOT Ok ! < /From > < from > This is Ok ! < /from >

     

    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    تگ های XML باید به طور صحیح و ترتیب مشخص قرار بگیرند :

    تگ های XML باید به ترتیب مشخص تعریف شوند و هر تگ قبل از اینکه تگ دیگری شروع شود ، بسته شده و یا کل تگ جدید را درون خود جای دهد . برای درک بهتر به مثال های زیر دقت نمایید :

     

    < b > < i > This is NOT Ok ! < /b > < /i > . کد بالا اشتباه بوده و ترتیب باز و بسته شدن تگ ها درست رعایت نشده است

     

     

     

    < b > < i > This is Ok ! < /i > < /b > . کد بالا صحیح است و ترتیب باز و بسته شدن تگ ها درست می باشد

     

    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    تمامی اسناد XML باید دارای یک تگ root یا مادر باشند :

    تمامی اسناد XML باید دارای یک تگ root یا مادر باشند و سایر تگ های دیگر درون این تگ تعریف شوند . در کد مثال زیر این مسئله را نمایش داده ایم :

     

     

     

    <root>  <child>     <subchild> ... </subchild>  </child></root>

     

  14. پی اچ پی (PHP) یکی از پر طرفدارترین زبان های پردازه نویسی (اسکریپتینگ) متن باز (Open Source) است که بیشتر برای طراحی برنامه های سمت سرور در وب گاه های پویا (Dynamic) مورد استفاده قرار می گیرد. PHP مخفف PHP: Hypertext Preprocessor (پیش پردازنده فرامتن) می باشد. پی اچ پی در سال ۱۹۹۴ ایجاد شد. رسموس لردورف (Rasmus Lerdorf) ایجاد کننده اولیه آن بوده است ولی در طی زمان این زبان برنامه سازی، توسط سایر کارشناسان و برنامه نویسان تکمیل گردیده و به شکل کنونی آن درآمده است.

     

    پی اچ پی از زبان های پردازه نویسی تحت وب است. ساختار این زبان بسیار شبیه زبان سی © و زبان برنامه نویسی پرل (Perl) می باشد. شکل پذیری فوق العاده آن و نیز همگونی با اغلب بانک های اطلاعاتی از قبیل MySql قدرت آن را افزایش داده است.

     

    مشهورترین نرم افزارهای(بسته های) ایجاد شده با پی اچ پی عبارت اند از phpBB ، SMF ، Mambo ، Joomla ، PHPNuke ، mybb و مدیاویکی (MediaWiki) (که این وب گاه با آن طراحی شده). پی پی اچ پی می تواند جایگزینی برای زبان های ASP.NET و JSP و Perl باشد. همچنین یکی از بهترین نمونه*های برنامه نویسی php در سطح وسیع سایت فیس بوک است.

     

    سادگی استفاده از پی اچ پی و شباهت آن به زبان سی و پرل (و از نسخه ۵ آن به جاوا) باعث شده که اغلب برنامه نویسان با تجربه در کوتاه ترین زمان ممکن برنامه های کاملی را ایجاد کنند.

     

    پی اچ پی تنها یک زبان پردازه نویسی نیست و با استفاده از PHP-GTK می توان برای طراحی برنامه های با ظاهر گرافیکی (GUI) و همچنین طراحی برنامه های خط فرمان شبیه پرل یا پایتون (Python) از آن استفاده کرد.

     

    پی اچ پی امکان استفاده از انواع مختلفی از پایگاه های داده را از جمله MySQL، اوراکل، IBM DB۲ ،Microsoft SQL Server ،PostgreSQL و SQLite با دستورهایی ساده فراهم می سازد.

     

    پی اچ پی روی بیشتر سیستم عامل های معروف از جمله لینوکس، یونیکس، ویندوز و Mac OSX و با اغلب کارگزارهای وب (Web Server) معروف، قابل اجراست.

  15. 1404784427191.jpg

     

    معروف به IDM را سریعترین دانلود منیجر یا نرم افزار مدیریت دانلود می دانند و به حق نیز اینچنین است. این نرم افزار قدرتمند به دلیل تقسیم فایل ها در حال دانلود به قسمت های مختلف و استفاده کامل از ظرفیت پهنای باند اینترنت کاربر ، میتواند سرعت دانلود را تا بیش از ۳ برابر و در مواقعی تا ۵ برابر افزایش دهد. قابلیت بعدی این نرم افزار که برای نرم افزارهای مدیریت دانلود بسیار حائز اهمیت است ، امکان resume یا ادامه دانلود لینک های دانلودی است که چنین امکانی را دارد ، برای مثال اگر فایلی را از دانلودها دانلود نمودید و در حین دانلود به دلایلی مانند قطعی اینترنت و… ارتباط دانلود قطع شد ، میتوانید ادامه آن را در زمانی دیگر انجام دهید. قابلیت های مهم دیگری نظیر زمان بندی برای شروع و پایان دانلود و همچنین دانلود به ترتیب لینک های دانلود از امکانات نرم افزار محسوب می شود. دانلود ویدیوها و صوت هایی که به صورت استریم و زنده پخش می شوند و امکان دانلود مستقیم آنها نیست (مانند سایت youtube) نیز از امکاناتی است که نمیتوان به راحتی از آن چشم پوشی نمود.

     

     

    تغییرات اعمال شده در این نسخه :

    - Added support for Firefox 32 and SeaMonkey 2.28

    - Fixed video recognition problems in Google Chrome

     

    آموزش فعال سازی نرم افزار Internet Download Manager:

    1) ابتدا دقت داشته باشید که حتما آنتی ویروس شما غیرفعال باشد تا از پاک شدن فایل فعال سازی نرم افزار جلوگیری شوید.

    ۲) حال فایل دانلود شده خود را از حالت فشرده خارج کنید.

    ۳) با استفاده از CTRL + ALT + DELETE به قسمت Task Manager و سپس بخش Processes رفته و فایل اجرایی IDMan.exe را پیدا کنید. روی آن راست کلیک کرده و گزینه End Process را انتخاب نمایید. (در صورت نبود این فایل اجرایی در لیست Processes به مرحله ۴ بروید)

    ۴) حال فایل اکسترکت شده در مرحله ۲ را باز کرده و فایل اجرایی موجود را نصب نمایید.

    ۵) پس از اتمام نصب، فایل Patch را به صورت Run As Administrator اجرا کنید و نرم افزار خود را پچ نمایید. حال به اجرای نرم افزار بپردازید.

    توجه: در صورت دریافت اررور Could not found، محل نصب نرم افزار را به صورت دستی وارد نمایید. هنگامی که از شما درخواست جستجو برای فایل اجرایی نرم افزار شد، آن را تایید کنید و فایل اجرایی نرم افزار را که واقع در یکی از دو فولدر Program Files\Internet Download Manager یا Program Files(x86)\Internet Download Manager می باشد انتخاب نمایید و اجازه دهید نرم افزار پچ شود.

     

     

    پسورد فایل: لینک ها تنها برای اعضای سایت قابل نمایش است.

    لینک ها تنها برای اعضای سایت قابل نمایش است.

    لینک ها تنها برای اعضای سایت قابل نمایش است.

    منبع:دانلود ها

  16.  

     

    WebScanUP Domain Reviewer & SEO Stats Checker نام اسکریپتی است که توسط آن می توانید با کمترین دانش برنامه نویسی یک پایگاه تخصصی خدمات اسکن و SEO سایت راه اندازی نمایید. این اسکریپت قدرتمند به شما اجازه می دهد تا تمام اطلاعات لازم را از یک وب سایت استخراج نمایید. اطلاعاتی مانند : رتبه سایت در گوگل و الکسا و ... - اطلاعات سن و WHOIS دامنه سایت به صورت کامل - آمار وب سایت در صفحات اجتماعی و بسیاری از آمار و اطلاعات دیگر.

     

     

     

     

     

    لینک ها تنها برای اعضای سایت قابل نمایش است.

  17. 1404783758561.jpg

     

     

    از امکانات اسکریپت آمارگیر Piwik:

    - تحلیل آمار به صورت گرافیکی

    - نمایش ورودی ها از موتور های جستجو

    - تحلیل مرورگر اینترنتی کاربران

    - نمایش بازدیدکنندگان بر اساس کشور

    - نمایش میانگین ورودی در هر ساعت

    - نمایش اخرین لینک دهندگان

    - و امکانات بسیار دیگر…

    ------------------------------------------------------------------------

    ================================

    ------------------------------------------------------------------------

    لینک ها تنها برای اعضای سایت قابل نمایش است.

    حجم: ۹.۳ مگابایت

    منبع: nuller.ir

  18. آموزش های whmcs

     

    دوستان این هشتمین قسمت آموزش WHMCS می باشد که مربوط به :

    تنظیم امنیتی

     

     

     

    WHMCS دارای ویژگی هایی هست که میتوانید برای حفظ اطلاعات خود از آن بهره ببرید که چند مورد ساده را در زیر آموزش خواهیم داد

     

     

    تغییر نام پوشه admin* در سیستم WHMCS:

     

    گاها پیش می آید که کاربرانی با وارد شدن به این قسمت و حدس رمز شما میتوانند به این پوشه دسترسی پیدا کنند.

    برای امنیت در برابر چنین اقدامی می توانید نام پوشه مدیریت را به نام دلخواه خود تغییر نام دهید که با اضافه کردن یک خط ساده به فایل کانفیگ این عمل میسر میشود.

    برای این کار فایل configuration.php را ویرایش کنید و کد زیر را به آن اضافه کنید که من برای مثال میخواهم نام پوشه مدیریت را modir بگذارم پس این خط را بصورت زیر در فایل کانفیگ اضافه میکنم:

    کد:

     

    $customadminpath = "modir";

     

     

     

     

     

    رمز گذاشتن بر روی پوشه مدیریت:

     

    برای انجام چنین کاری ابتدا وارد فایل منیجر سی پنل هاست خود شوید و بر روی پوشه مدیریت کلیک راست کنید و گزینه Password Protect را انتخاب کنید.

     

    در پنجره باز شده گزینه اول :

     

    Password protect this directory را تیک بزنید. این تیک به آن معناست که شما مایلید برای این پوشه شناسه و رمز*عبور تخصیص دهید.

     

    در کادر بعدی Name the protected directory میتوانید برای این پوشه نامی تعیین کنید که در حال حاضر میتوانید نامی انتخاب نکنید و از آن رد شوید.

     

    حال زمان آنست که شناسه*ها و رمزعبورها را ایجاد کنید.

     

    در قسمت پایین صفحه کادر مربوط به نام کاربری و رمز عبور را تکمیل کنید و سپس بر روی سپس برروی کلید Add/modify authorized user کلیک کنید تا شناسه ایجاد گردد.

     

    حال از این پس برای دسترسی به فرم ورود به مدیریت WHMCS باید ابتدا رمز مربوط به این پوشه را وارد کنید تا بتوانید به صفحه لوگین دسترسی پیدا کنید

     

     

     

     

     

    انتقال attachments, downloads & templates_c

     

    این سه احتیاج به دسترسی 777 دارند که در موقع نصب چنین دسترسی برای آن ایجاد شده است ، بدون شک بزرگترین معضل استفاده کنندگان از این سیستم هست که میتوان به راحتی آنها را به خارج از پوشه Public_html منتقل کرد. (قبلا یکبار این قسمت توضیح داده شده است)

     

    برای این کار سه پوشه نام برده شده را به پوشه قبل از public_html با استفاده از گزینه move منتقل نمایید.

     

    فایل configuration.php را ویرایش کنید و سه خط زیر را به آن اضافه کنید

     

     

    $templates_compiledir = "/home/username/templates_c/";$attachments_dir = "/home/username/attachments/";$downloads_dir = "/home/username/downloads/";

     

     

     

     

    منظور از username در سه خط فوق همان نام کاربری هاست شما می باشد.

     

    حال فایل configuration.php را ذخیره کنید و ناحیه کاربری سایت خود را بررسی کنید که به درستی کار میکند.

     

    گاها اروری مبنی بر دسترسی 777 نمایش داده میشود که به دو دلیل هست.

     

    خطوط فوق را به درستی ایجاد نکرده اید و مسیر فایل وجود ندارد(ممکن هست که علامت های PHP به درستی رعایت نشده است) و یا دسترسی فایل به 755 تقلیل یافته است(این مورد در اکثر سرور ها با توجه به کانفیگ آن بطور اتوماتیک رفع میشود و نیازی به اخذ دسترسی برای پوشه مورد نظر نیست).

     

     

     

     

    اجازه دسترسی به پوشه ادمین برای آی پی های خاص:

     

    برای تخصیص چنین قابلیتی به پوشه مدیریت سایت بروید و فایل .htaccess را ویرایش نمایید و کدهای زیر را اضافه کنید و ذخیره کنید.

     

    order deny,allowallow from 12.34.5.67allow from 98.76.54.32deny from all

     

     

     

    قابلیت فوق فقط به آی پی های تعریف شده اجازه دسترسی به این پوشه را میدهد.

    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    امیدوارم این آموزش مورد قبول واقع شده باشد

  19. دوستان این هفتمین قسمت آموزش WHMCS می باشد که مربوط به :

    راه اندازی بخش پشتیبانی و آموزش و اخبار و دانلود

     

     

    برای راه اندازی بخش پشتیبانی در ابتدا باید دپارتمان های مورد نظر را ایجاد نمایید

     

    برای این کار از منوSetting زیر منو Support را باز نمایید و سپس بر روی Support Departments کلیک نمایید.

     

    از صفحه باز شده بر روی Add New Department کلیک کنید.

     

    در صفحه باز شده فیلد ها و تیک را طبق نیاز خود پر و تیک بزنید و نیاز به توضیحی ندارد.

     

    برای راه اندازی و درج خبر در بخش اخبار سایت از منو Support بر روی Announcements کلیک کنید و سپس بر روی Add New Announcement کلیک کنید.

     

    در قسمت Title عنوان خبر و در قسمت Announcement متن خبر را بنویسید و برای انتشار آن پس از نوشتن متن خبر در پایین آن تیک گزینه Published? را بزنید و سپس بر روی Save Changes کلیک کنید تا خبر منتشر شود.

     

    برای راه اندازی بخش آموزش سایت از منو Support بر روی Knowledgebase کلیک کنید

     

    در صفحه باز شده ابتدا باید یک دسته بندی برای آن ایجاد نمایید و سپس متن آموزش را ایجاد نمایید

     

    برای راه اندازی بخش دانلود از منو Support روی گزینه Downloads کلیک نمایید و ابتدا دسته بندی آن را تعریف نمایید و سپس متن توضیحی درباره فایل و اضافه کردن فایل را انجام دهید.

     

     

    تنظیمات Email Piping:

     

    Email Piping در کنترل پنل های سی پنل و دایرکت ادمین مورد استفاده می باشد

     

    برای مثال کنترل پنل سی پنل

     

     | php -q /home/username/public_html/whmcs/pipe/pipe.php

     

     

     

    برای شروع تنظیم می بایست وارد سی پنل شده و بر روی Forwarders کلیک نمایید در پایین صفحه باز شده بر روی :

     

    Hint:If you wish to set your default address, or "catch-all," please click here to be taken to the Default Address page.

     

     

     

    کلیک کنید

     

    و سپس;

     

    Advanced Options »

     

     

     

    تنظیم whmcs

     

    1. Navigate to Setup > Support Departments > Edit and enter your pop email access details in for each department.

    2. Then setup a cron job to run the pop.php file using the "Ticket Importing using POP3 Import" command given on the Support Departments page to run every few minutes (every 5 minutes is recommended).

     

    اموزش اصلی :

     

    لینک ها تنها برای اعضای سایت قابل نمایش است.

     

    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    امیدوارم این آموزش مورد قبول واقع شده باشد

  20. دوستان این ششمین قسمت آموزش WHMCS می باشد که مربوط به :

    اتصال پنل ثبت دامنه و همچنین تعریف پسوندها ی دامنه در مدیریت whmcs

     

     

     

    توجه داشته باشید شما برای تحویل آنلاین دامنه ها احتیاج به یک کنترل پنل اصلی در ثبت کننده های دامنه به همراه اعتبار اولیه دارید.

     

    برای مثال من کنترل پنل مربوط به ریسلر کلاب را توضیح میدهم.

     

     

    اتصال پنل ریسلر کلاب

     

    برای شروع یک کنترل پنل نمایندگی از ریسلر کلاب و یا از نمایندگان آن تهیه نمایید.

     

    پس از ساخته شدن کنترل پنل نمایندگی یک ایمیل با عنوان :

     

    Your Reseller Account with companyname  is ACTIVATED

     

     

     

    این ایمیل را باز کنید و ریسلر آی دی خود را از درون آن یادداشت نمایید.

     

    وارد کنترل پنل نمایندگی ریسلر کلاب شوید

     

    از منو Setting بر روی API کلیک کنید.

     

    در قسمت Accessing the API آی پی های سرور خود را وارد نمایید و سپس بر روی Allow API Access کلیک کنید(معمولا 30 دقیقه زمان خواهد برد تا دسترسی اکتیو شود)

     

    به مدیریت WHMCS باز میگردیم و از منو Setting به زیر منو Products/Services رفته و سپس بر روی Domain Registrars کلیک میکند

     

    از منو باز شونده میان صفحه آیتم Resellerclub را انتخاب می نماییم

     

    در مقابل فیلد ResellerID ریسلر آی دی خود را که از ایمیلتان یادداشت کرده اید را وارد میکنید

     

    در مقابل فیلد Password ، رمز عبور پنل ریسلر کلاب که در هنگام عضویت وارد نموده اید را وارد میکند و روی Save Changes کلیک میکنید

     

    در پایین صفحه یک دستور Domain Syncronisation Cron موجود هست شبیه به کد زیر:

     

    /home/domain/public_html/portal/modules/registrars/resellerclub/resellerclubsync.php  

     

     

     

    که آن را کپی میکنید و به سی پنل رفته و از قسمت Advanced بر روی Cron Jobs کلیک میکنید

     

    حال در قسمت Add New Cron Job رفته و منو باز شونده مربوط به Common Settings را بر روی Once a day قرار دهید و کدی که در قسمت فوق گفته شد را در قسمت Command کپی کنید و بر روی Add New Cron Jobs کلیک کنید.

     

    به مدیریت whmcs باز گردید و روی Other Settings در همان قسمت قبلی کلیک کنید.

     

    در قسمت Default Nameservers دی ان اس های خود را وارد کنید.

     

    در قسمت Default Billing/Admin/Tech Contact Details مورد زیر را تیک بزنید.

     

    Tick this box to use clients details for the Billing/Admin/Tech contacts

     

     

     

    توجه: زمانی تحویل آنلاین دامنه کار میکند که کاربر شما زمانی که در سایت ثبت نام میکند کلیه اطلاعات خود را به زبان انگلیسی وارد کرده باشد و بصورت صحیح( فیلدهایی که باید عدد باشد در آن حروفی نباشد)

     

    هم اکنون پنل نمایندگی دامنه خود را به WHMCS متصل کرده اید.

     

    تعریف پسوندها به همراه قیمت آن

     

    از منو Setting بر روی زیر منو Products/Services رفته و بر روی Domain Pricing کلیک کنید.

     

    از قسمت Domains/TLDS در ردیف موجود پسوند مورد نظر برای مثال .com را وارد کنید از انتهای ردیف از منو باز شونده Resellerclub را انتخاب میکنیم و در انتها بر روی Save Changes کلیک کنید تا این پسوند ذخیره شود.

     

    الان در همان ردیف پسوند ساخته شده اضافه شده است و یک قسمت در جلوی پسوند به آن اضافه شده با نام Open Pricing که بر روی آن کلیک میکنیم.

     

    در پنجره باز شده هزینه ثبت، تمدید، انتقال آن را وارد میکنیم و همچنین قیمت ثبت و تمدید های بالای یکسال و در آخر بر روی Save Changes کلیک کنید و پنجره را ببندید.

     

    مابقی پسوند های مورد نظر را وارد نمایید و همچنین تعریف قیمت آن ها را انجام میدهید.

     

    نکته: دامنه های آی آر شامل ثبت آنلاین توسط ریسلر کلاب نیستند پس ثبت کننده آن را بر روی None قرار دهید.

    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    امیدوارم این آموزش مورد قبول واقع شده باشد

×
×
  • اضافه کردن...