RainLoop / rainloop-webmail

Simple, modern & fast web-based email client
http://rainloop.net
MIT License
4.1k stars 881 forks source link

custom date plugin #1381

Open faghihi opened 7 years ago

faghihi commented 7 years ago

hello I wanna write a plugin to show the dates to the user in jalali calendar ( for farsi dates) format to the user I have reviewed the code and I see there is always time stamp transferring during all communication in rainloop dates
where can I customize the last returning date to the user containing the name of the month and day

thank you already for the help

mohsensaeedi commented 7 years ago

Hi I have this problem too. I could not understand how unix timestamp on view layer, convert to human readable date format in Gregorian calendar. I want to display all date on view layer in Jalali calendar. Jalali and Hijri calendar are different type of calendar that used in many countries on west Asia.

I appreciate in advance for any help or guidance.

mohsensaeedi commented 7 years ago

@RainLoop , @tomrittervg , @almas , @edeckers , @s4l1h

Would you please answer my question? I posted it 8 days ago.

almas commented 7 years ago

There is a date() php function. Unix time stamp is all second from 1970-01-01 to today. You may calculate.

mohsensaeedi commented 7 years ago

Hi @almas I know about that. but it's not my problem. I'm confused to know, how or where return date calculate and print on UI. for example in the below HTML tag:

<div class="dateParent actionHandle dragHandle">
      <span class="date" data-moment-format="SHORT" data-moment-format-title="FULL" data-bind="moment: dateTimeStampInUTC"></span>
    </div>

I need to know how data-bind="moment: dateTimeStampInUTC" works? We try to change calculation from Georgian calendar to Jalali calendar without success. I read about knockoutjs too to understand. The main problem is RainLoop does not have developer docs. I am aware about date() php function and Carbon class and have good knowledge about Unix time stamp (epoch time) and detail history too.

But it is unclear for me. How final date print and show to user on RainLoop UI. I think it happens in moment:dateTimeStampInUTC but I was unable to change return date from various function after little modification.

I guess above problem occur because RainLoop cache some data and file. I was unable to clear cache after remove cache directory based on some recipe mentioned on other issues.

I hope you understand my problem and help me to solve that. I and my Colleagues work on localization open source software for more 15 years and our team decide to help for improving RainLoop features.

I appreciate in advance for any help or guidance.

almas commented 7 years ago

Oh I see. I'm not Rainloop developer. But I think that you may find viewTimeStamp function and see that function: dev/View/User/MailBox/MessageView.js this.viewTimeStamp(

If it doesn't work then insert your function to php migth work. But I don't think would work. But you may try:

rainloop-webmail/rainloop/v/0.0.0/app/libraries/RainLoop/Actions.php 9876 'DateTimeStampInUTC' => $iDateTimeStampInUTC, Then change dateTimeStampInUTC to your variable.

It might AngularjJS function.

mohsensaeedi commented 7 years ago

I am sorry. I think you are RainLoop developer but very thanks to your helpful reply. I will check and test your idea and will be inform you here. I don't know why RainLoop developer do not reply to issues.

faghihi commented 7 years ago

this is not the answer to it we wanna change the actual time presenting to user in strings which changing the timestamp wont work how can we change the latest string passed to the view to present the user with