Advertisement:

Author Topic: آموزش شمسی کردن تاریخ انجمن SMF  (Read 36345 times)

Offline javad_ft

  • Semi-Newbie
  • *
  • Posts: 15
آموزش شمسی کردن تاریخ انجمن SMF
« on: September 08, 2013, 10:44:57 AM »

با سلام خدمت دوستان
بنده اخیراً تاریخ انجمن خودمون رو شمسی کردم و میخام اینجا آموزشش رو بزارم تا همه استفاده کنن.
توجه1: اگر مهارت کافی ندارید از این آموزش استفاده نکنید، در غیر اینصورت ممکن است برای انجمن شما مشکل ایجاد شود.
تابع timeformat  در فایل Subs.php وظیفه تبدیل timestamp ها به رشته برای نمایش را بر عهده دارد.
با ویرایش این تابع میتوان تاریخ و ساعت را بصورت دلخواه نمایش داد.
همچنین باید توابعی برای تبدیل تاریخ میلادی به شمسی داشته باشید که برای این منظور از کتابخانه آماده jdf.php استفاده میکنیم که کاملاً قابل اطمینان است.
برای دانلود به اینجا مراجعه کنید: http://jdf.scr.ir [nofollow]

از آنجایی که فایل jdf برای انکودینگ UTF-8 ارائه شده، اگر انکودینگ انجمن شما Arabic(windows-1256 باشد باید از فایل تبدیل شده که در پست بعدی موجود است اسفاده کنید.
توجه2: قبل از هرگونه ایجاد تغییرات در فایل subs.php ، از آن یک کپی تهیه کنید تا در صورت بروز مشکل بتوانید آنرا جایگزین کنید.

برای استفاده از توابع فایل jdf باید آنرا در پوشه Sources کپی کنید.
همچنین باید آنرا در ابتدای فایل Subs اصطلاحاً include کنید.
توجه کنید که این کار باید بعد از قسمت if (!defined('SMF')) انجام شود. بصورت زیر:

Code: [Select]
if (!defined('SMF'))
die('Hacking attempt...');

include_once('jdf.php');

سپس تابع timeformat  باید با کد زیر جایگزین شود:

Code: [Select]
//#<modified> today/yesterday/date + time
// Format a time to make it look purdy.
function timeformat($log_time, $show_today = true, $offset_type = false)
{
global $context, $user_info, $txt, $modSettings, $smcFunc;

$time = $log_time + $modSettings['time_offset'] * 3600;

// Today and Yesterday?
if ($show_today === true)
{
// Get the current time.
$nowtime = forum_time(false); //argument must be false to ignore user_offset

$then = @getdate($time);
$now = @getdate($nowtime);

// Same day of the year, same year.... Today!
if ($then['yday'] == $now['yday'] && $then['year'] == $now['year'])
return jstrftime( $txt['today'] . '%H:%M:%S' ,$time);
// Day-of-year is one less and same year, or it's the first of the year and that's the last of the year...
if (($then['yday'] == $now['yday'] - 1 && $then['year'] == $now['year']) || ($now['yday'] == 0 && $then['year'] == $now['year'] - 1) && $then['mon'] == 12 && $then['mday'] == 31)
return jstrftime( $txt['yesterday'] . '%H:%M:%S' ,$time);
}

return jstrftime('%e %B %Y - %H:%M:%S' ,$time);
}
//#</modified>


Offline javad_ft

  • Semi-Newbie
  • *
  • Posts: 15
Re: آموزش شمسی کردن تاریخ انجمن SMF
« Reply #1 on: September 08, 2013, 10:51:08 AM »
دوستانی که انکودینگ انجمن آنها Arabic(windows-1256) است باید از این فایل استفاه کنند. توجه کنید که اسم فایل رو بزارید jdf.php 

http://jelecomp.persiangig.com/jdf_arabic%28windows1256%29.php/download [nofollow]

Offline javad_ft

  • Semi-Newbie
  • *
  • Posts: 15
Re: آموزش شمسی کردن تاریخ انجمن SMF
« Reply #2 on: September 08, 2013, 10:56:27 AM »

این کار محدودیتهای زیر را هم ایجاد میکنه که البته زیاد مهم نیستند:
- ادمین نمیتونه از تو بخش مدیریت سیستم، فرمت تاریخ تعریف کنه.(یعنی میتونه، ولی تابع timeformat تنظیمات رو نادیده میگیره)
2-کاربرا نمیتونن برای خودشون فرمت تاریخ و زمان و یا آفست زمانی تعریف کنن.(ایضاً مثل مورد بالا)

البته تو بخش مدیریت سیستم امکان تعریف آفست زمانی برای ادمین هست که میتونیم برای تصحیح زمانهای Daylight saving ،اختلاف ساعت جهانی و خطای ساعت سرور ازش استفاده کنیم
.یعنی اگر ساعت بخاطر شش ماهه اول یک ساعت جلو بود باید برید به مسیر زیر:
مدیریت سیستم>تنظیمات پیکربندی>امکانات و گزینه ها
بعد مقدار "اختلاف زمانی با ساعت سرور" رو بزارید روی 1-

Offline hesaab

  • Semi-Newbie
  • *
  • Posts: 16
    • تالاذ گفتگوی حسابداری
Re: آموزش شمسی کردن تاریخ انجمن SMF
« Reply #3 on: September 08, 2013, 11:43:36 PM »
امکانش هست آدرس انجمن خودتون رو بذارید؟
ممنون
<a href="http://www.tasavi.ir [nofollow]" rel="no-follow">تالار گفتگوی حسابداری</a>

Offline javad_ft

  • Semi-Newbie
  • *
  • Posts: 15
Re: آموزش شمسی کردن تاریخ انجمن SMF
« Reply #4 on: September 09, 2013, 03:41:03 PM »
انجمن مال من نیست. من عضوم :
www.eca.ir/forum2 [nofollow]

Offline ali[n]

  • Semi-Newbie
  • *
  • Posts: 20
Re: آموزش شمسی کردن تاریخ انجمن SMF
« Reply #5 on: October 13, 2013, 01:36:35 PM »
سلام
ممنون
عالی شد
[/font]

Offline farshid_mi

  • Semi-Newbie
  • *
  • Posts: 11
Re: آموزش شمسی کردن تاریخ انجمن SMF
« Reply #6 on: November 02, 2013, 05:58:05 PM »
از جنابعالی به خاطر این موضوع ارزشمند و راهنمایی دقیقتان سپاسگذری می نمایم:

تاریخ هجری شمسی در SMF
[/font]

Offline zabih1365

  • Newbie
  • *
  • Posts: 7
فروم متا
« Reply #7 on: April 20, 2014, 02:40:04 PM »
سلام
این سایت هم هست
hxxp:www.meta4u.com/forum/index.php?action=community [nonactive]

Offline zabih1365

  • Newbie
  • *
  • Posts: 7
سلام
انجمن حسابداری در آدرس زیر هم تاریخش شمسی است.
hxxp:www.meta4u.com/acc [nonactive]

Offline IR4G

  • Newbie
  • *
  • Posts: 1
Re: آموزش شمسی کردن تاریخ انجمن SMF
« Reply #9 on: March 11, 2015, 07:11:02 AM »

این کار محدودیتهای زیر را هم ایجاد میکنه که البته زیاد مهم نیستند:
- ادمین نمیتونه از تو بخش مدیریت سیستم، فرمت تاریخ تعریف کنه.(یعنی میتونه، ولی تابع timeformat تنظیمات رو نادیده میگیره)
2-کاربرا نمیتونن برای خودشون فرمت تاریخ و زمان و یا آفست زمانی تعریف کنن.(ایضاً مثل مورد بالا)

البته تو بخش مدیریت سیستم امکان تعریف آفست زمانی برای ادمین هست که میتونیم برای تصحیح زمانهای Daylight saving ،اختلاف ساعت جهانی و خطای ساعت سرور ازش استفاده کنیم
.یعنی اگر ساعت بخاطر شش ماهه اول یک ساعت جلو بود باید برید به مسیر زیر:
مدیریت سیستم>تنظیمات پیکربندی>امکانات و گزینه ها
بعد مقدار "اختلاف زمانی با ساعت سرور" رو بزارید روی 1-

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

Offline CHRIS-7

  • Semi-Newbie
  • *
  • Posts: 65
  • Gender: Male
Re: آموزش شمسی کردن تاریخ انجمن SMF
« Reply #10 on: March 11, 2015, 02:01:12 PM »
ممنون اما مودی برای شمسی کردن تاریخ وجود داره و نیازی به نصب دستی نیست.

لینک زیر.

http://www.simplemachines.org/community/index.php?topic=498421.0

Offline mehrtadbir

  • Jr. Member
  • **
  • Posts: 183
    • Meta Forum
Re: آموزش شمسی کردن تاریخ انجمن SMF
« Reply #11 on: March 16, 2015, 07:47:30 PM »
ممنون اما مودی برای شمسی کردن تاریخ وجود داره و نیازی به نصب دستی نیست.

لینک زیر.

http://www.simplemachines.org/community/index.php?topic=498421.0

سلام

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

صرفا تاریخ در قسمت هدر سایت تغییر می کند
موفق و پیروز باشید

 
تالار گفتگوی تخصصی متا    دفتر تلفن مشاغل   سامانه پیام کوتاه ویژه اعضای دفتر تلفن مشاغل     شبکه تجارت الکترونیک البرز

Offline CHRIS-7

  • Semi-Newbie
  • *
  • Posts: 65
  • Gender: Male
Re: آموزش شمسی کردن تاریخ انجمن SMF
« Reply #12 on: March 31, 2015, 08:18:45 PM »
با سلام.
فقط یک سوال خدمتتون داشتم. من این کار را کردم و انجمنم از تاریخ میلادی به شمی تغییر کرده است.

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

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

Offline javad_ft

  • Semi-Newbie
  • *
  • Posts: 15
Re: آموزش شمسی کردن تاریخ انجمن SMF
« Reply #13 on: April 05, 2015, 06:08:47 PM »
آیا وقتی که انجمن را بخواهم از نسخه به نسخه ی دیگری آپدیت کنم با خطایی مواجعه نخواهم شد ؟

راستش من زیاد خبره نیستم و این مطلب را هم 2 سال پیش نوشتم و زیاد یادم نمیاد
ولی فکر نکنم مشکلی پیش بیاد. شما اگر آپدیت کنید اون تغییراتی که برای تاریخ شمسی کردید از بین میره و باید دوباره انجام بدید

Offline CHRIS-7

  • Semi-Newbie
  • *
  • Posts: 65
  • Gender: Male
Re: آموزش شمسی کردن تاریخ انجمن SMF
« Reply #14 on: April 05, 2015, 08:16:28 PM »
آیا وقتی که انجمن را بخواهم از نسخه به نسخه ی دیگری آپدیت کنم با خطایی مواجعه نخواهم شد ؟

راستش من زیاد خبره نیستم و این مطلب را هم 2 سال پیش نوشتم و زیاد یادم نمیاد
ولی فکر نکنم مشکلی پیش بیاد. شما اگر آپدیت کنید اون تغییراتی که برای تاریخ شمسی کردید از بین میره و باید دوباره انجام بدید

اوه ، ممنون بابت کمکتون - این تاریخ شمسی هم خیلی خوبه برای انجمن ها و خیلی طرفدار داره نسبت به تاریخ میلادی.بازم تشکر بابت مطلب با ارزشتون. :)

Offline SaidJan

  • Semi-Newbie
  • *
  • Posts: 77
Re: آموزش شمسی کردن تاریخ انجمن SMF
« Reply #15 on: June 24, 2017, 09:18:35 PM »
آیا میشه کاری کرد که این روش فقط روی زبان فارسی انجمن پیاده بشه و زبان انگلیسی دست نخورده بمونه؟