Support » Plugin: Parsi Date » Conflict With Restrict Cotnent Pro 3.0.9

  • Resolved Mojtaba

    (@mojtaba-taheri)


    I’m using the 3.0.1 version of this plugin together with Restrict Content Pro 3.0.9.
    When the Parsi Date plugin is enabled, The expiration dates for members, in Restrict Content Pro, is written to database in Jalali format, which causes problems to Restrict Content Pro plugin.

    من نسخه ۳.۰.۱ این افزونه رو با نسخه ۳.۰.۹ افزونه فروش اشتراک «رستریکت کانتنت پرو» روی سایتی استفاده می‌کنم. کار افزونه ریستریکت کانتنت پرو،‌ فروش اشتراک زمان دار به کاربران هست و سر یه تاریخی اشتراک کاربران منقضی میشه و باید دوباره پرداخت انجام داده و فعالش کنند.
    زمانی که قابلیت تاریخ شمسی این افزونه فعال هست، در دیتابیس، تاریخ‌ها در تیبل‌های مربوط به افزونه فروش اشتراک، به شمسی درج میشه و این امر باعث اختلال در عملکرد افزونه فروش اشتراک میشه.

Viewing 14 replies - 1 through 14 (of 14 total)
  • hamidsna

    (@hamidsna)

    من هم دقیقا همین مشکل رو دارم اصلا نمیتونم دیگه آپدیت کنم پلاگین رو به خاطر این مشکلی که پلاگین ایجاد کرده
    دیتابیس رو چرا شمسی میکنه دیگه ؟

    این مشکل باید از طرف RCP باشه.
    افزونه جایگزین parsidate رو هم امتحان کنید.

    hamidsna

    (@hamidsna)

    خیر از طرف این پلاگین نیست من لایسنس فعالش رو دارم به پشتیبانش هم گفتم ، گفتن این پلاگینی که شما نصب کردین رفته هه تاریخ ها رو داخل دیتابیس عوض کرده و این مشکل پلاگین نیست
    من وقتی فهمیدم که که کلی یوزر ثبت نام کرده و نمیشه از نسخه 2.9 به نسخه 3 آپگرید کرد الان موندم چیکارش کنم با غیر فعال کردن فارسی ساز هم مشکل حل نشده لطف یه راه حل بدید تاریخ رو درست کنیم

    @mostafas1990 جناب صوفی سلام.

    در افزونه هایی مثل همین آر.سی.پی به طور مستقیم داخل کدهای افزونه از
    date_i18n
    استفاده شده. در خصوص این نوع افزونه ها چه نوع تنظیمی باید داخل لیست فیلترهای افزونه پارسی دیت اعمال کرد؟

    Plugin Author Mostafa Soufi

    (@mostafas1990)

    Hi guys,

    Here are some filters that you should be trying to disable them:

    
    add_filter('get_comment_time', 'wpp_fix_comment_time', 10, 2);
    add_filter('get_comment_date', 'wpp_fix_comment_date', 10, 2);
    add_filter('get_post_modified_time', 'wpp_fix_post_date' , 10, 2 );
    
    

    https://github.com/wordpress-parsi/wp-parsidate/blob/master/includes/fixes-dates.php#L15

    @mostafas1990
    با غیرفعال کردن این فیلترها عملا باز هم افزونه مورد نظر داره تاریخ ها رو پنل شمسی نمایش میده ولی در دیتابیس تاریخ نال هست.
    علتش این هست که داره مستقیما اینطوری تاریخ رو در نظر میگیره:

    	public function get_created_date( $formatted = true ) {
    
    		$created_date = $this->created_date;
    
    		if ( $formatted ) {
    			$created_date = date_i18n( get_option( 'date_format' ), strtotime( $created_date, current_time( 'timestamp' ) ) );
    		}
    
    		return $created_date;
    	}
    hamidsna

    (@hamidsna)

    @mostafas1990
    الان این کد ها رو باید کجا قرار بدیم ؟
    و با این همه رکوردی که داخل دیتابیس با شمسی ساز شما برای این پلاگین ثبت شده چیکار کنیم ، من الان به خاطر این فارسی ساز
    شما تو در دردسر افتادم نمیتونم پلاگین رو آپدیت کنم کلی یوزر با این پلاگین ثبت شده
    ئقتی میخوام آپدیت کنم کل تاریخ ها صفر میشه چون تاریخ شمسی رو قبول نمیکنه
    لطفا راه حلی بدین این مشکل حل بشه من فقط ظاهر رو میخوام شمسی بشه نه اینکه دیتابیس رو شمسی کنه

    Plugin Author Mostafa Soufi

    (@mostafas1990)

    @mathdl
    Add below code in your exclusion:
    ‍‍‍‍
    add_action('date_i18n', 'wpp_fix_i18n', 10, 3);

    @hamidsna

    https://github.com/wordpress-parsi/wp-parsidate/blob/master/includes/fixes-dates.php#L15

    hamidsna

    (@hamidsna)

    @mostafas1990
    ببخشید دوباره متوجه منظورتون نشدم این کدی که دادین الان هم داخل فایل
    fixes-dates.php
    وجود داره باید به کجا اضافه کنیم این کد ها رو و چطوری بدون مشکل این مشکل رو حل کنیم

    Plugin Author Mostafa Soufi

    (@mostafas1990)

    @hamidsna

    You should remove/disable that filters.

    hamidsna

    (@hamidsna)

    @mostafas1990

    من کد زیر رو داخل مسیر ی که دادین حذف کردم
    add_action('date_i18n', 'wpp_fix_i18n', 10, 3);
    اما همچنان رکوردهای که این پلاگین ثبت کرده داخل دیتابیس درست نشده ملاحظه کنید کل تاریخ ها رو شمسی کرده
    http://uupload.ir/files/gpl1_4.jpg

    • This reply was modified 10 months ago by hamidsna.

    سلام بر همه عزیزان
    بعد از بررسی متوجه شدم که مشکل از تابع پارسی نیست
    بلکه زیاده روی برنامه نویس rcp در validation هست. کد زیر از نسخه ۳ افزونه rcp
    wp-content/plugins/restrict-content-pro/includes/database/engine/class-column.php

    	// Fallback if WordPress function exists
    		} elseif ( function_exists( 'date_i18n' ) ) {
    			$value = date_i18n( 'Y-m-d H:i:s', strtotime( $value ), true );

    در ایرادی که به این کار میشه گرفت که نیازی نیست بررسی کنه که اگر i18n موجود بود فرمت و متن تاریخ رو عوض کنه. چون در نهایت تاریخ باید متناسب با دیتابیس دربیاد نه این که تبدیل بشه i18n و بره روی دیتابیس ذخیره بشه. در واقع این تابع برای validate کردن بوده که اومده فرمت رو عوض کرده. هدف از استفاده از i18n در نمایش هست و در سطح دیتابیس باید فرمت استاندارد datetime باشه.
    برای حل این مشکل برید به همین فایل و این خط رو کامنت کنید. مشکل حل میشه.

    توضیحات بیشتر در تیکت زیر
    https://wordpress.org/support/topic/i18n-bug-change-date-format/

    • This reply was modified 9 months, 4 weeks ago by seifzadeh.

    @seifzadeh
    میتونید توضیح انگلیسیش رو بنویسید براشون بفرستم چون این مشکل نسخه پرو هست نه رایگان
    من لاینسش رو دارم

    در نسخه ۳.۱.۱ این باگ برطرف شده

Viewing 14 replies - 1 through 14 (of 14 total)
  • The topic ‘Conflict With Restrict Cotnent Pro 3.0.9’ is closed to new replies.