رفتن به مطلب
انجمن تخصصی پرسش و پاسخ

تمامی فعالیت ها

این جریان به طور خودکار بروزرسانی می شود     

  1. امروز
  2. این یک وب سرویس هست و امکانش نیست
  3. دیروز
  4. نه من محتویات داخل این رو میخام https://miladworkshop.ir/webservice/rest/IPrequest که رو سایت خودم باشه
  5. لینک دانلود : https://miladworkshop.ir/paste/download/sUDaqY
  6. سلام خسته نباشید میشه بجای لینک بالا فایل هاش رو بدید با تشکر فراوان
  7. هفته گذشته
  8. hichkas

    دانلود افزونه پیشرفته نمایش پاپ آپ در WHMCS

    سلام PHP version 7.2.24 whmcs : 7.8.3
  9. تخفیف تکرار نشدنی و شگفت انگیز میلاد ورک شاپ تنها در روز 8 آذرماه سال 1398 بمناسبت Black Friday پایان جشنواره ساعت 23:59 روز جمعه 8 آذر 1398 می‌باشد شرح محصولات و تخفیفات جشنواره : سرویس / محصول قیمت واقعی قیمت جشنواره اسکریپت VIP سیستم نسخه حق مالکیت 500.000 250.000 اسکریپت VIP سیستم نسخه متن باز 5.000.000 2.500.000 اسکریپت درگاه واسط نسخه شخصی 250.000 100.000 اسکریپت درگاه واسط نسخه عمومی 750.000 450.000 اسکریپت درگاه واسط GatewaySystem نسخه متن باز 5.000.000 2.500.000 اسکریپت PSP و درگاه واسط Payment Network نسخه متن باز ویژه پرداخت یاری + آزمون 24.000.000 5.000.000 اسکریپت PSP و درگاه واسط Payment Network نسخه متن باز ویژه پرداخت یاری + آزمون + اپلیکیشن اندروید 36.000.000 7.500.000 پاس کردن آزمون های فنی شاپرک ویژه پرداخت یاری 3.000.000 1.500.000 اسکریپت سایت فیلم و سریال Prime System 3.500.000 1.000.000 به منظور ثبت سفارش در سایت میلاد ورک شاپ ثبت نام نموده و اقدام به ارسال تیکت کنید.توجه داشته باشید تحویل سرویس با قیمت جشنواره تنها در صورتی انجام خواهد شد که ثبت تیکت سفارش و پرداخت فاکتور قبل از ساعت 23:59 روز جمعه 8 آذرماه 1398 انجام شده باشد.
  10. جدیدا
  11. سلام نسخه WHMCS و نسخه PHP را اعلام کنید برسی کنم
  12. سلام از این لینک استفاده کنید :
  13. miladworkshop

    تعریف Custom Taxonomy در وردپرس

    تعریف Custom Taxonomy یکی از اصلی ترین ویژگی های وردپرس برای سفارشی سازی آن است. با یادگیری نحوه تعریف Custom Taxonomy در وردپرس، شما قابلیت سفارشی سازی هر محتوایی را در وردپرس خواهید داشت. بخش اول: تعریف Custom Taxonomy در وردپرس سایت رسمی وردپرس، تعریف Custom Taxonomy را در قالب وردپرس پیشنهاد نمی کند. دلیل این کار این می باشد که کلیه اطلاعات مربوط به آن گروه بندی سفارشی، با سوئیچ کردن قالب توسط کاربر، همه ناپدید خواهد شد. بنابراین پیشنهاد وردپرس این است که به جای تعریف Custom Taxonomy در قالب از تعریف آن در پلاگین استفاده شود تا در صورت عوض شدن قالب وردپرس، اطلاعات مربوط به طبقه بندی سفارشی در سایت وردپرسی شما باقی بماند. البته راهکارهای دیگری نیز برای این کار وجود دارد مانند استفاده از Must Use Plugin تا در هر صورت حتی با switch کردن بین تم ها، همچنان دسته بندی سفارشی شما در سایت وردپرسی شما قابل دسترس باشد. برای اطلاعات بیشتر می توانید به لینک مربوط به آن در پایین صفحه مراجعه کنید. فرض کنید یکی از این گروه بندی های سفارشی ژانر (یا همان ژانر کتاب بوده) که می خواهیم آن را به صورت سلسله مراتبی یا Hierarchical تعریف کنیم و دیگری گروه بندی نویسنده می باشد که نمی خواهیم به صورت سلسه مراتبی یا همان Hierarchical تعریف نماییم. برای تعریف Custom Taxonomy با نام ژانر یا genre و همین طور نویسنده یا writer ، مراحل زیر را انجام می دهید: ایجاد یک فایل با نام custom-post-type.php در دایرکتوری inc واقع در فولدر قالب وردپرس مورد نظر (شما می توانید از همان فایلی که در قسمت قبل این آموزش ساخته شده است، استفاده کنید) فراخوانی این فایل در فایل functions.php با استفاده از دستور include include get_template_directory() . '/inc/custom-post-type.php'; متصل نمودن تابع create_book_taxonomies با استفاده از add_action به هوک init تعریف label های مورد استفاده برای رجیستر کردن genre_custom_taxonomy و writer_custom_taxonomy در داخل تابع تعریف آرگومان های لازم به صورت آرایه برای رجیستر کردن genre_custom_taxonomy و writer_custom_taxonomy ثبت طبقه بندی سفارشی با استفاده از تابع register_taxonomy // hook into the init action and call create_book_taxonomies when it fires add_action( 'init', 'create_book_taxonomies', 0 ); // create two taxonomies, genres and writers for the post type "book" function create_book_taxonomies() { // Add new taxonomy, make it hierarchical (like categories) $labels = array( 'name' => _x( 'Genres', 'taxonomy general name', 'textdomain' ), 'singular_name' => _x( 'Genre', 'taxonomy singular name', 'textdomain' ), 'search_items' => __( 'Search Genres', 'textdomain' ), 'all_items' => __( 'All Genres', 'textdomain' ), 'parent_item' => __( 'Parent Genre', 'textdomain' ), 'parent_item_colon' => __( 'Parent Genre:', 'textdomain' ), 'edit_item' => __( 'Edit Genre', 'textdomain' ), 'update_item' => __( 'Update Genre', 'textdomain' ), 'add_new_item' => __( 'Add New Genre', 'textdomain' ), 'new_item_name' => __( 'New Genre Name', 'textdomain' ), 'menu_name' => __( 'Genre', 'textdomain' ), ); $args = array( 'hierarchical' => true, 'labels' => $labels, 'show_ui' => true, 'show_admin_column' => true, 'query_var' => true, 'rewrite' => array( 'slug' => 'genre' ), ); register_taxonomy( 'genre', array( 'book' ), $args ); // Add new taxonomy, NOT hierarchical (like tags) $labels = array( 'name' => _x( 'Writers', 'taxonomy general name', 'textdomain' ), 'singular_name' => _x( 'Writer', 'taxonomy singular name', 'textdomain' ), 'search_items' => __( 'Search Writers', 'textdomain' ), 'popular_items' => __( 'Popular Writers', 'textdomain' ), 'all_items' => __( 'All Writers', 'textdomain' ), 'parent_item' => null, 'parent_item_colon' => null, 'edit_item' => __( 'Edit Writer', 'textdomain' ), 'update_item' => __( 'Update Writer', 'textdomain' ), 'add_new_item' => __( 'Add New Writer', 'textdomain' ), 'new_item_name' => __( 'New Writer Name', 'textdomain' ), 'separate_items_with_commas' => __( 'Separate writers with commas', 'textdomain' ), 'add_or_remove_items' => __( 'Add or remove writers', 'textdomain' ), 'choose_from_most_used' => __( 'Choose from the most used writers', 'textdomain' ), 'not_found' => __( 'No writers found.', 'textdomain' ), 'menu_name' => __( 'Writers', 'textdomain' ), ); $args = array( 'hierarchical' => false, 'labels' => $labels, 'show_ui' => true, 'show_admin_column' => true, 'update_count_callback' => '_update_post_term_count', 'query_var' => true, 'rewrite' => array( 'slug' => 'writer' ), ); register_taxonomy( 'writer', 'book', $args ); } چند نکته در فراخوانی register_taxonomy: برای دیدن لیست کلیه پارامتر های مورد استفاده در این تابع، می توانید از لینک های زیر استفاده نمایید. ذکر چند نکته در مورد پارامترهای این تابع، در این بخش، خالی از لطف نیست که به آن ها اشاره می گردد: در داخل تابع create_book_taxonomies ، شما متغیرهای label را تعریف خواهید کرد که شامل آرایه ای از تمامی برچسب ها و نام های موجود استفاده شده، در طبقه بندی سفارشی شما می باشد. شما می توانید از توابع ترجمه وردپرس استفاده کرده و آن ها را تعریف نمایید. ضمن اینکه می باید در انتهای هر بخش، text domain مورد نظر برای آن ها را هم ذکر کنید. پس از تعریف label ها، شما متغیر args را تعریف می کنید که حاوی کلیه اطلاعات لازم برای ثبت کردن گروه بندی سفارشی شما می باشد. در واقع شما با این آرگومان ها، می توانید نحوه رفتار custom taxonomy خود در سایت وردپرس را مدیریت نمایید. پارامتر rewrite برای وردپرس بیان می نماید که چگونه می باید url های مربوط به این رده بندی سفارشی شما را بازنویسی کند و به کاربر نمایش دهد. پارامتر اول در تابع register_taxonomy با نام Taxonomy Key شناخته می شود که وردپرس برای ذخیره و بازیابی custom taxonomy شما، از آن استفاده خواهد کرد. بهتر است این اسم طوری انتخاب شود که با موارد دیگر تداخل نداشته و معنی و مفهوم آن را نیز، برساند. پارامتر دوم تابع register_taxonomy که با نام object_type شناخته می شود، می تواند یک رشته یا آرایه ای از نوع های مختلف در وردپرس باشد. شما با تعریف این بخش، به وردپرس اعلام می کنید که این طبقه بندی سفارشی شما، برای کدام نوع ها (مثلا post یا page یا custom post type دلخواه) مورد استفاده قرار بگیرد. در مثال بالا، ما به وردپرس یاد آور شده ایم که این دسته بندی ها، فقط برای پست سفارشی کتاب یا همان book مورد استفاده قرار بگیرند.
  14. miladworkshop

    چطوری از یک وبسایت Mirror درست میکنن؟

    سلام در کنار فایل index.php یک فایل Htaccess با محتوای زیر ایجاد و مجدداً برسی کنید : Options +FollowSymLinks RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule .* /index.php [L]
  15. hichkas

    دانلود افزونه پیشرفته نمایش پاپ آپ در WHMCS

    سلام بنده ماژول پاپ اپ شمارا نصب کردم سورس گاردین را هم نصب کردم و مشکلی ندارد اما موقع فعال سازی در whmcs علی رغم فعال بودن display error log خطای 503 Service Unavailable The server is temporarily busy, try again later! صادر م شود و فعال نمی شود مشکل از چیست؟ وب سرور لایت اسپید می باشد
  16. foremtehan

    چطوری از یک وبسایت Mirror درست میکنن؟

    یعنی برای هر وبسایت باید یک چیزه جدا نوشت ؟ مثلا همین وبسایت miladworkshop.ir برای من به این شکل لود میشه :
  17. miladworkshop

    چطوری از یک وبسایت Mirror درست میکنن؟

    آدرس سایتی که میخوایید با این اسکریپت load بشه رو ارسال کنید برسی کنم
  18. foremtehan

    چطوری از یک وبسایت Mirror درست میکنن؟

    کد ها رو تست کردم ، گویا متد split منسخوخ شده بود سرچ کردم و بجاش explode رو استفاده کردم الان دو تا مشکل هست ، تست کردم css سایت مورد نظر لود نمیشه توی اسکریپت من و فقط html لود میشه و مشکل اصلی دیگه این هست که وقتی روی لینک های داخل سایت مورد نظر کلیک میکنم خطای 404 میگیرم و فکر کنم بخاطر اینکه route های سایت مورد نظر رو من توی اسکریتم ندارم ، الان چکار کنم که بتونم مثل سایت معمولی داخل سایت وبگردی کنم ؟
  19. foremtehan

    چطوری از یک وبسایت Mirror درست میکنن؟

    @miladworkshop باورم نمیشه برام وقت گذاشتی و این کدها رو نوشتی خیلی اذت ممنون حتما کدها رو تست میکنم خیلی خوشحالم شدم امروز.
  20. سلام قصد ایجاد دسته بندی جدید دارم در وردپرس بر مبنای taxonomy ممنون میشم راهنمایی کنید با تشکر
  21. miladworkshop

    چطوری از یک وبسایت Mirror درست میکنن؟

    بله به همین شکل هست نمونه کد : <?php $domain = "https://miladworkshop.ir"; $cookiedomain = str_replace("http://www.", "", $domain); $cookiedomain = str_replace("https://www.","", $cookiedomain); $cookiedomain = str_replace("www.", "", $cookiedomain); $url = $domain . $_SERVER['REQUEST_URI']; if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') { $mydomain = 'https://'.$_SERVER['HTTP_HOST']; } else { $mydomain = 'http://'.$_SERVER['HTTP_HOST']; } $curlSession = curl_init(); curl_setopt ($curlSession, CURLOPT_URL, $url); curl_setopt ($curlSession, CURLOPT_HEADER, 1); if($_SERVER['REQUEST_METHOD'] == 'POST') { curl_setopt ($curlSession, CURLOPT_POST, 1); curl_setopt ($curlSession, CURLOPT_POSTFIELDS, $_POST); } curl_setopt($curlSession, CURLOPT_RETURNTRANSFER,1); curl_setopt($curlSession, CURLOPT_TIMEOUT,30); curl_setopt($curlSession, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($curlSession, CURLOPT_SSL_VERIFYPEER, 0); foreach($_COOKIE as $k=>$v) { if(is_array($v)) { $v = serialize($v); } curl_setopt($curlSession,CURLOPT_COOKIE,"{$k}={$v}; domain=.{$cookiedomain} ; path=/"); } $response = curl_exec ($curlSession); if (curl_error($curlSession)) { print curl_error($curlSession); } else { $response = str_replace("HTTP/1.1 100 Continue\r\n\r\n","",$response); $ar = explode("\r\n\r\n", $response, 2); $header = $ar[0]; $body = $ar[1]; $header_ar = split(chr(10),$header); foreach($header_ar as $k=>$v) { if(!preg_match("/^Transfer-Encoding/",$v)) { $v = str_replace($domain,$mydomain,$v); header(trim($v)); } } $body = str_replace($domain, $mydomain, $body); print $body; } curl_close ($curlSession); ?>
  22. foremtehan

    چطوری از یک وبسایت Mirror درست میکنن؟

    یعنی در واقع با هر درخواست ما باید محتوای سایت مبدا رو دانلود کنیم به کابر نشون بدیم مثله file_get_content ? کاش یه مثالی چیزی بود جایی
  23. miladworkshop

    چطوری از یک وبسایت Mirror درست میکنن؟

    سلام ساده ترین راه حل استفاده از CURL در PHP به عنوان Proxy هست
  24. سلام سپاسگزارم
  25. سلام خیلی دوست دارم بدونم با PHP چطوری از سایت های دیگه Mirror درست میکنند ؟ مثلا این سایت های زیرنویس ایرانی که از Subscene یک نمونه ش رو کپی میکنن با قالب های مختلف چطوری اینکارو میکنن ، مقاله ای هست واسه اینکار ؟
  26. یکی از عمده مشکلات ارائه خدمات و سرویس به کاربران, حملات فیشینگ و یا استفاده برخی از کاربران از کارت های سرقتی در هنگام خرید می‌باشد که گاهاً باعث بروش مشکلات قضایی برای سرویس دهنده می‌شود.یکی از راه‌های جلوگیری از بروز چنین مشکلاتی, الازم به استفاده از IP ایران در مواقع خرید و پرداخت می‌باشد که متاسفانه WHMCS بصورت پیشفرض این قابلیت را ندارد.با استفاده از ماژول WHMCS Restriction IP که توسط میلاد ورک شاپ بصورت اختصاصی کدنویسی و بصورت کاملاً رایگان و متن باز منتشر شده است, میتوانید صفحه نمایش و پرداخت فاکتور را تنها برای کشورهای مد نظر کد محدود کرده و در صورتی که کاربر با IP کشوری بجز کشورهای تعریف شده وارد صفحه نمایش و پرداخت فاکتور شود, با خطای عدم دسترسی به شکل زیر مواجه خواهد شد : توجه داشته باشید این افزونه بصورت کاملاً رایگان و متن باز منتشر شده است و استفاده از آن شامل هیچ هزینه‌ای نخواهد بود.به منظور دانلود این افزونه لازم است در سایت میلاد ورک شاپ ثبت نام نموده و ضمن ورود با اکانت میلاد ورک شاپ در انجمن پرسش و پاسخ نسبت به دانلود افزونه اقدام فرمایید. آموزش استفاده از افزونه : ماژول WHMCS Restriction IP را دانلود نموده و در محل نصب WHMCS آپلود و Extract نمایید. وارد مدیریت WHMCS شده و از منوی Setup > Addon Modules ماژول Miladworkshop IP Restriction را فعال نموده و دسترسی گروهای کاربری مد نظر را به ماژول بدهید. همچنین لازم است در این بخش تیک Activate را فعال نموده و در بخش CountryCode میتوانید کد کشورهایی که قصد دارید امکان پرداخت برای انها فعال باشد را وارد نموده و برای جدا سازی آنها از کاما استفاده کنید WHMCS Restriction IP.zip
  27. بله این کد درسته و کار کرد
  28. این کد رو برسی کنید <?php $client = @$_SERVER['HTTP_CLIENT_IP']; $forward = @$_SERVER['HTTP_X_FORWARDED_FOR']; $remote = @$_SERVER['REMOTE_ADDR']; if(filter_var($client, FILTER_VALIDATE_IP)) { $ip = $client; } elseif(filter_var($forward, FILTER_VALIDATE_IP)) { $ip = $forward; } else { $ip = $remote; } $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, "https://miladworkshop.ir/webservice/rest/IPrequest/{$ip}"); curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type' => 'application/json')); curl_setopt($curl, CURLOPT_TIMEOUT, 30); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $curl_exec = curl_exec($curl); curl_close($curl); $result = json_decode($curl_exec, false); if (isset($result->Response) && $result->Response == 100 && strtoupper($result->countryCode) === "IR" && !preg_match('/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i',$_SERVER['HTTP_USER_AGENT'])||preg_match('/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i',substr($_SERVER['HTTP_USER_AGENT'],0,4))) { die("Your device is not supported"); } ?>
  29. سایت برای کاربر ایرانی و غیر ایرانی بالا میاد الان
  1. نمایش فعالیت های بیشتر
×
×
  • جدید...