انجمن


مشکل (باگ) در تابع jdate از افزونه جلالی  (۲ نوشته)

  • akmeghdad

    آفلاین
    عضو
    تعداد نوشته‌ها: ۱۱۳
    تشکر شده: ۵ بار
    # نوشته شده: ۱۲ سال پیش
    ۱۲ تیر ۱۳۹۱ - ۲۳:۱۰

    سلام
    اشکال موجود چنین است
    اگر برای مقدار زمان اینگونه داشته باشیم
    $wpp_time = 1337180452
    این مقدار برابر 27/02/1391 و یا برابر با 16/05/2012 است

    gettype ($wpp_jm = jdate("m", 1337180452)); // String
    gettype ($wpp_m = date("m", 1337180452)); //String

    خوب با توجه به کد بالا تقریبا مشکل مشخص شد در هر دو تابع خروجی یک رشته است ولی در تابع jdate این صادق نیست
    برای این منظور به این کد توجه کنید

    if ($wpp_jm == "02"){
    	echo'String';
    }else{
    	echo 'Null';
    }

    و خروجی
    // Null
    اگر همین کد را برای $wpp_m قرار دهیم نتیجه متفاوتی به دست می آید

    if ($wpp_m == "05"){
    	echo 'String';
    }else{
    	echo 'Null';
    }

    و خروجی
    // String
    حال اگر مقدار اسکی عبارتهای مورد بحث را برگردانیم چنین می شود

    echo ord($wpp_m); // 48
    echo ord($wpp_jm); // 219

    همانطور که می بینید برای مقدار تهیه شده توسط افزونه جلالی عدد 219 را داریم در حالی که انتظار می رفت عدد 48 را بعنوان خروجی داشته باشیم
    بعبارت دیگر مشکل و یا باگ اینگونه تعریف می شود که:
    در تابع jdate کاراکتری دور از انتظار همراه با مقدار برگردانده شده وجود دارد

    نکته انتهایی: متاسفانه زمان کافی برای پیدا کردن مشکل ندارم لذا مطرح کردم تا دیگرعزیزران رسیدگی کنند

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    تناسب اندام
  • Moeini

    آفلاین
    عضو فعال
    تعداد نوشته‌ها: ۵۵۹
    تشکر شده: ۶۷۹ بار
    # نوشته شده: ۱۲ سال پیش
    ۲۱ تیر ۱۳۹۱ - ۲۳:۳۰

    با سلام
    این مورد به این خاطر پیش میاد که، تابع اعداد رو به صورت "فارسی" return میکنه و ۰۲ (فارسی ) برابر 02 نیست .
    برای غیرفعال کردن این قابلیت در قسمت خاصی از برنامه از قطعه کد زیر استفاده کنید.

    add_action((defined('MPS_JD_OPTIONS_NAME') ? MPS_JD_OPTIONS_NAME : 'option_mps_jd_options_4.1'), 'disable_farsi_num');
    
    function disable_farsi_num($option) {
    	$option['mps_jd_farsinum_date'] = false;
    	return $option;
    }

درباره‌ی این موضوع