Version 4.1.19
This commit is contained in:
1 parent
28bd025b35
commit
2bd5025018
2674 files changed
+233518
-77766
No files matched your search
@@ -1 +1,288 @@
|
||||
{"app=calendar&module=calendars&controller=calendars":{"lang_key":"menu__calendar_calendars_calendars","restriction":"calendars_manage","keywords":["calendars"]},"app=calendar&module=calendars&controller=settings&searchResult=form_calendar_default_view":{"lang_key":"calendar_default_view","restriction":"settings_manage","keywords":["calendar layout"]},"app=calendar&module=calendars&controller=settings&searchResult=form_calendar_date_format":{"lang_key":"calendar_date_format","restriction":"settings_manage","keywords":["calendar date format"]},"app=calendar&module=calendars&controller=settings&searchResult=form_show_bday_calendar":{"lang_key":"show_bday_calendar","restriction":"settings_manage","keywords":["birthdays"]},"app=calendar&module=calendars&controller=settings&searchResult=form_ipb_calendar_mon":{"lang_key":"ipb_calendar_mon","restriction":"settings_manage","keywords":["monday","sunday","calendar start"]},"app=calendar&module=calendars&controller=settings&searchResult=form_calendar_rss_feed":{"lang_key":"calendar_rss_feed","restriction":"settings_manage","keywords":["calendar rss","events rss"]},"app=calendar&module=calendars&controller=ical":{"lang_key":"menu__calendar_calendars_ical","restriction":"calendar_feeds_manage","keywords":["iCal","calendar export","iCalendar","feeds"]}}
|
||||
{
|
||||
"app=calendar&module=calendars&controller=calendars": {
|
||||
"lang_key": "menu__calendar_calendars_calendars",
|
||||
"restriction": "calendars_manage",
|
||||
"keywords": [
|
||||
"calendars",
|
||||
"календарь"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=calendars&do=form": {
|
||||
"lang_key": "menu__calendar_calendars_calendars",
|
||||
"restriction": "calendars_manage",
|
||||
"keywords": [
|
||||
"edit calendar",
|
||||
"изменить календарь"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=calendars&do=permissions": {
|
||||
"lang_key": "menu__calendar_calendars_calendars",
|
||||
"restriction": "calendars_manage",
|
||||
"keywords": [
|
||||
"calendar permissions",
|
||||
"доступы календаря",
|
||||
"разрешения календаря"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=calendars&searchResult=cal_comment_moderate": {
|
||||
"lang_key": "cal_comment_moderate",
|
||||
"restriction": "calendars_manage",
|
||||
"keywords": [
|
||||
"approved",
|
||||
"comments must be approved",
|
||||
"require approval",
|
||||
"одобрено",
|
||||
"требует одобрения",
|
||||
"комментарии должны быть одобрены"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=calendars&searchResult=form_1_cal_allow_comments": {
|
||||
"lang_key": "cal_allow_comments",
|
||||
"restriction": "calendars_manage",
|
||||
"keywords": [
|
||||
"allow comments",
|
||||
"comments",
|
||||
"разрешить комментарии",
|
||||
"комментарии"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=calendars&searchResult=form_1_cal_allow_reviews": {
|
||||
"lang_key": "cal_allow_reviews",
|
||||
"restriction": "calendars_manage",
|
||||
"keywords": [
|
||||
"allow reviews",
|
||||
"reviews",
|
||||
"отзывы",
|
||||
"разрешить отзывы"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=calendars&searchResult=form_1_cal_color": {
|
||||
"lang_key": "cal_color",
|
||||
"restriction": "calendars_manage",
|
||||
"keywords": [
|
||||
"calendar color",
|
||||
"цвет календаря",
|
||||
"цвет"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=calendars&searchResult=form_1_cal_moderate": {
|
||||
"lang_key": "cal_moderate",
|
||||
"restriction": "calendars_manage",
|
||||
"keywords": [
|
||||
"approve",
|
||||
"approve event",
|
||||
"event",
|
||||
"одобрить",
|
||||
"событие",
|
||||
"одобрить событие"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=calendars&searchResult=form_1_cal_title": {
|
||||
"lang_key": "cal_title",
|
||||
"restriction": "calendars_manage",
|
||||
"keywords": [
|
||||
"calendar name",
|
||||
"calendar title",
|
||||
"название календаря",
|
||||
"заголовок календаря"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=calendars&searchResult=form_new_cal_allow_comments": {
|
||||
"lang_key": "cal_allow_comments",
|
||||
"restriction": "calendars_manage",
|
||||
"keywords": [
|
||||
"allow comments",
|
||||
"разрешить комментарии"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=calendars&searchResult=form_new_cal_allow_reviews": {
|
||||
"lang_key": "cal_allow_reviews",
|
||||
"restriction": "calendars_manage",
|
||||
"keywords": [
|
||||
"allow reviews",
|
||||
"reviews",
|
||||
"отзывы",
|
||||
"разрешить отзывы"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=calendars&searchResult=form_new_cal_color": {
|
||||
"lang_key": "cal_color",
|
||||
"restriction": "calendars_manage",
|
||||
"keywords": [
|
||||
"calendar color",
|
||||
"цвет календаря"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=calendars&searchResult=form_new_cal_moderate": {
|
||||
"lang_key": "cal_moderate",
|
||||
"restriction": "calendars_manage",
|
||||
"keywords": [
|
||||
"approve event",
|
||||
"event approve",
|
||||
"events",
|
||||
"события",
|
||||
"одобрить событие"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=calendars&searchResult=form_new_cal_title": {
|
||||
"lang_key": "cal_title",
|
||||
"restriction": "calendars_manage",
|
||||
"keywords": [
|
||||
"calendar title",
|
||||
"название календаря",
|
||||
"имя календаря"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=ical": {
|
||||
"lang_key": "menu__calendar_calendars_ical",
|
||||
"restriction": "calendar_feeds_manage",
|
||||
"keywords": [
|
||||
"calendar export",
|
||||
"feeds",
|
||||
"iCal",
|
||||
"iCalendar",
|
||||
"экспорт календаря",
|
||||
"ленты"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=ical&do=add&searchResult=form_feed_allow_rsvp": {
|
||||
"lang_key": "feed_allow_rsvp",
|
||||
"restriction": "calendar_feeds_manage",
|
||||
"keywords": [
|
||||
"enable rsvp",
|
||||
"rsvp",
|
||||
"просьба ответить",
|
||||
"запрос ответа"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=ical&do=add&searchResult=form_feed_calendar_id": {
|
||||
"lang_key": "feed_calendar_id",
|
||||
"restriction": "calendar_feeds_manage",
|
||||
"keywords": [
|
||||
"calendar",
|
||||
"календарь"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=ical&do=add&searchResult=form_feed_member_id": {
|
||||
"lang_key": "feed_member_id",
|
||||
"restriction": "calendar_feeds_manage",
|
||||
"keywords": [
|
||||
"member",
|
||||
"пользователь"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=ical&do=add&searchResult=form_feed_title": {
|
||||
"lang_key": "feed_title",
|
||||
"restriction": "calendar_feeds_manage",
|
||||
"keywords": [
|
||||
"add icalendar",
|
||||
"feed title",
|
||||
"iCalendar feed",
|
||||
"название ленты"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=ical&do=add&searchResult=form_feed_url": {
|
||||
"lang_key": "feed_url",
|
||||
"restriction": "calendar_feeds_manage",
|
||||
"keywords": [
|
||||
"feed url",
|
||||
"icalendar url",
|
||||
"адрес ленты"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=ical&do=upload&searchResult=form_feed_calendar_id": {
|
||||
"lang_key": "feed_calendar_id",
|
||||
"restriction": "calendar_feeds_manage",
|
||||
"keywords": [
|
||||
"calendar",
|
||||
"календарь"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=ical&do=upload&searchResult=form_feed_file": {
|
||||
"lang_key": "feed_file",
|
||||
"restriction": "calendar_feeds_manage",
|
||||
"keywords": [
|
||||
"iCalendar file"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=ical&do=upload&searchResult=form_feed_member_id": {
|
||||
"lang_key": "feed_member_id",
|
||||
"restriction": "calendar_feeds_manage",
|
||||
"keywords": [
|
||||
"member",
|
||||
"пользователь"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=settings": {
|
||||
"lang_key": "menu__calendar_calendars_settings",
|
||||
"restriction": "settings_manage",
|
||||
"keywords": [
|
||||
"calendar settings",
|
||||
"настройки календаря"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=settings&searchResult=calendar_rss_feed_days": {
|
||||
"lang_key": "calendar_rss_feed_days",
|
||||
"restriction": "settings_manage",
|
||||
"keywords": [
|
||||
"days",
|
||||
"feed days",
|
||||
"forthcoming days",
|
||||
"number of days",
|
||||
"RSS Feed",
|
||||
"rss лента",
|
||||
"дней",
|
||||
"количество дней"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=settings&searchResult=form_calendar_date_format": {
|
||||
"lang_key": "calendar_date_format",
|
||||
"restriction": "settings_manage",
|
||||
"keywords": [
|
||||
"calendar date format",
|
||||
"формат даты",
|
||||
"дата календаря",
|
||||
"дата в календаре"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=settings&searchResult=form_calendar_default_view": {
|
||||
"lang_key": "calendar_default_view",
|
||||
"restriction": "settings_manage",
|
||||
"keywords": [
|
||||
"calendar layout",
|
||||
"макет календаря",
|
||||
"дизайн календаря"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=settings&searchResult=form_calendar_rss_feed": {
|
||||
"lang_key": "calendar_rss_feed",
|
||||
"restriction": "settings_manage",
|
||||
"keywords": [
|
||||
"calendar rss",
|
||||
"events rss",
|
||||
"rss событий",
|
||||
"rss календаря"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=settings&searchResult=form_ipb_calendar_mon": {
|
||||
"lang_key": "ipb_calendar_mon",
|
||||
"restriction": "settings_manage",
|
||||
"keywords": [
|
||||
"calendar start",
|
||||
"monday",
|
||||
"sunday",
|
||||
"начало недели",
|
||||
"понедельник",
|
||||
"воскресенье"
|
||||
]
|
||||
},
|
||||
"app=calendar&module=calendars&controller=settings&searchResult=form_show_bday_calendar": {
|
||||
"lang_key": "show_bday_calendar",
|
||||
"restriction": "settings_manage",
|
||||
"keywords": [
|
||||
"birthdays",
|
||||
"день рождения",
|
||||
"дни рождения"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,56 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<emails><template><template_app>calendar</template_app><template_name>digests__item</template_name><template_content_html><![CDATA[<tr style='border-bottom: 1px solid #eeeeee'>
|
||||
<emails><template><template_app>calendar</template_app><template_name>notification_new_content</template_name><template_content_html><![CDATA[
|
||||
{{if $content->author()->member_id}}
|
||||
{$email->language->addToStack("email_new_calevent", FALSE, array( 'sprintf' => array( $content->author()->url(), $content->author()->name, $content->indefiniteArticle( $email->language ), $content->url(), $content->mapped('title'), $content->fixedDateTimeDescription( $email->language ) ) ) )}
|
||||
{{else}}
|
||||
{$email->language->addToStack("email_new_calevent_guest", FALSE, array( 'sprintf' => array( $content->author()->name, $content->indefiniteArticle( $email->language ), $content->url(), $content->mapped('title'), $content->fixedDateTimeDescription( $email->language ) ) ) )}
|
||||
{{endif}}
|
||||
|
||||
<br />
|
||||
<br />
|
||||
|
||||
<table width='100%' cellpadding='0' cellspacing='0' border='0'>
|
||||
<tr>
|
||||
<td dir='{dir}' width='40' valign='top' class='hidePhone' style='width: 0; max-height: 0; overflow: hidden; float: left;'>
|
||||
<img src='{$content->author()->get_photo( true, true )}' width='40' height='40' style='border: 1px solid #777777; vertical-align: middle;'>
|
||||
</td>
|
||||
<td dir='{dir}' width='30' valign='top' class='hidePhone' style='width: 0; max-height: 0; overflow: hidden; float: left;'>
|
||||
<br />
|
||||
<span style='display: block; width: 0px; height: 0px; border-width: 15px; border-color: transparent #f9f9f9 transparent transparent; border-style: solid'></span>
|
||||
</td>
|
||||
<td dir='{dir}' valign='top' style='background: #f9f9f9;'>
|
||||
<table width='100%' cellpadding='10' cellspacing='0' border='0'>
|
||||
<tr>
|
||||
<td dir='{dir}'>
|
||||
<table width='100%' cellpadding='5' cellspacing='0' border='0'>
|
||||
<tr>
|
||||
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; line-height: 1.5; font-size: 14px; color: #8d8d8d">
|
||||
{$email->language->addToStack("email_posted_in", FALSE, array( 'sprintf' => array( $content->container()->_title ) ) )}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td dir='{dir}' style="font-family: 'Helvetica Neue', helvetica, sans-serif; line-height: 1.5; font-size: 14px;">
|
||||
{$email->parseTextForEmail( $content->content(), $email->language )|raw}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td dir='{dir}'>
|
||||
<a href='{$content->url()}' style="color: #ffffff; font-family: 'Helvetica Neue', helvetica, sans-serif; text-decoration: none; font-size: 14px; background: {setting="email_color"}; line-height: 32px; padding: 0 10px; display: inline-block; border-radius: 3px;">{$email->language->addToStack("go_to_this_x", FALSE, array( 'sprintf' => array( mb_strtolower( $email->language->addToStack( $content::$title, FALSE ) ) ) ) )}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br /><br />
|
||||
<em style='color: #8c8c8c'>— {setting="board_name"}</em>]]></template_content_html><template_data>$content, $email</template_data><template_content_plaintext><![CDATA[{$email->language->addToStack("email_new_calevent_plain", FALSE, array( 'sprintf' => array( $content->author()->name, $content->indefiniteArticle( $email->language ), $content->mapped( 'title' ), $content->fixedDateTimeDescription( $email->language ) ) ) )}
|
||||
|
||||
{$email->language->addToStack("go_to_this_x", FALSE, array( 'sprintf' => array( mb_strtolower( $email->language->addToStack( $content::$title, FALSE ) ) ) ) )}: {$content->url()}
|
||||
|
||||
-- {setting="board_name"}]]></template_content_plaintext></template><template><template_app>calendar</template_app><template_name>digests__item</template_name><template_content_html><![CDATA[<tr style='border-bottom: 1px solid #eeeeee'>
|
||||
<td dir='{dir}' width='120' valign='top' align='center'>
|
||||
<table width='120' cellpadding='10' cellspacing='0' border='0' bgcolor='#fafafa'>
|
||||
<tr>
|
||||
@@ -39,7 +90,7 @@
|
||||
</p>
|
||||
|
||||
<div style='font-family: "Helvetica Neue", helvetica, sans-serif; line-height: 22px; margin-top: 5px; margin-bottom: 5px'>
|
||||
{$email->parseTextForEmail( $event->content() )|raw}
|
||||
{$email->parseTextForEmail( $event->content(), $email->language )|raw}
|
||||
</div>
|
||||
|
||||
{{if $event->rsvp}}
|
||||
@@ -49,11 +100,11 @@
|
||||
{{if count( $attendees[1] )}}
|
||||
{{foreach $attendees[1] as $idx => $attendee}}
|
||||
{{if $idx < 10}}
|
||||
<img src="{$attendee->photo}" width="32" height="32" style="border: 1px solid #000; vertical-align: middle;">
|
||||
<img src="{$attendee->get_photo( true, true )}" width="32" height="32" style="border: 1px solid #000; vertical-align: middle;">
|
||||
{{endif}}
|
||||
{{endforeach}}
|
||||
{{if count( $attendees[1] ) > 10}}
|
||||
<span style="font-size: 13px; font-family: 'Helvetica Neue', helvetica, sans-serif; color: #8c8c8c">{$email->language->addToStack("and_x_more", FALSE, array( 'sprintf' => array( count( $attendees[1] ) - 10 ) ) )}</span>
|
||||
<span style="font-size: 13px; font-family: 'Helvetica Neue', helvetica, sans-serif; color: #8c8c8c">{$email->language->addToStack("and_x_more", FALSE, array( 'pluralize' => array( count( $attendees[1] ) - 10 ) ) )}</span>
|
||||
{{endif}}
|
||||
{{endif}}
|
||||
</div>
|
||||
@@ -63,7 +114,7 @@
|
||||
{{if $event->container()->allow_reviews or $event->container()->allow_comments}}
|
||||
<p style='font-family: "Helvetica Neue", helvetica, sans-serif; margin: 0; font-size: 13px; margin-bottom: 15px'>
|
||||
{{if $event->container()->allow_reviews}}
|
||||
{{foreach range( 1, 5 ) as $i}}{{if $i <= $event->averageReviewRating()}}<img src='{resource="email/rating_on.png" location="interface" app="core"}' width='14' height='13' style='vertical-align: middle; margin-right: 2px'>{{else}}<img src='{resource="email/rating_off.png" location="interface" app="core"}' width='14' height='13' style='vertical-align: middle; margin-right: 2px'>{{endif}}{{endforeach}}
|
||||
{{foreach range( 1, 5 ) as $i}}{{if $i <= $event->averageReviewRating()}}<img src='{resource="email/rating_on.png" location="interface" app="core"}' width='14' height='13' style='vertical-align: middle; margin-right: 2px'>{{elseif ( $i - 0.5 ) <= $event->averageReviewRating()}}<img src='{resource="email/rating_half.png" location="interface" app="core"}' width='14' height='13' style='vertical-align: middle; margin-right: 2px'>{{else}}<img src='{resource="email/rating_off.png" location="interface" app="core"}' width='14' height='13' style='vertical-align: middle; margin-right: 2px'>{{endif}}{{endforeach}}
|
||||
{{endif}}
|
||||
{{if $event->container()->allow_comments}}
|
||||
|
||||
@@ -81,12 +132,12 @@
|
||||
<table width='100' cellpadding='0' cellspacing='0' border='0' bgcolor='#ffffff' style='border: 1px solid #cccccc;'>
|
||||
<tr>
|
||||
<td dir='{dir}' align='center' style="color: #a93848; font-size: 18px; line-height: 30px; text-transform: uppercase; font-family: 'Helvetica Neue', helvetica, sans-serif; font-weight: bold; padding-top: 5px;">
|
||||
{$comment->item()->nextOccurrence( $today, 'startDate' )->monthNameShort}
|
||||
{$comment->item()->nextOccurrence( \IPS\calendar\Date::getDate(), 'startDate' )->monthNameShort}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td dir='{dir}' align='center' style="color: #333333; line-height: 40px; font-size: 44px; font-family: 'Helvetica Neue', helvetica, sans-serif; font-weight: 300; padding-bottom: 10px">
|
||||
{$comment->item()->nextOccurrence( $today, 'startDate' )->mday}
|
||||
{$comment->item()->nextOccurrence( \IPS\calendar\Date::getDate(), 'startDate' )->mday}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@@ -109,7 +160,7 @@
|
||||
{{endif}}
|
||||
</p>
|
||||
<div style='font-family: "Helvetica Neue", helvetica, sans-serif; line-height: 22px; margin-top: 10px; margin-bottom: 10px; border-left: 3px solid #8c8c8c; padding-left: 15px; font-size: 14px; margin-left: 15px'>
|
||||
{$email->parseTextForEmail( $comment->content() )|raw}
|
||||
{$email->parseTextForEmail( $comment->content(), $email->language )|raw}
|
||||
</div>
|
||||
|
||||
</td>
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
{
|
||||
"calendar_calendar_1": "Community Calendar"
|
||||
"calendar_calendar_1": "Календарь сообщества"
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<javascript app="calendar">
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/browse" javascript_name="ips.browse.main.js" javascript_type="controller" javascript_version="101012" javascript_position="1000050"><![CDATA[/**
|
||||
* IPS Social Suite 4
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/browse" javascript_name="ips.browse.main.js" javascript_type="controller" javascript_version="101093" javascript_position="1000050"><![CDATA[/**
|
||||
* IPS Community Suite 4
|
||||
* (c) 2013 Invision Power Services - http://www.invisionpower.com
|
||||
*
|
||||
* ips.browse.main.js - Calendar main browsing controller
|
||||
@@ -60,6 +60,9 @@
|
||||
return;
|
||||
}
|
||||
|
||||
// Track page view
|
||||
ips.utils.analytics.trackPageView( state.url );
|
||||
|
||||
this._updateView( state.url, state.title )
|
||||
},
|
||||
|
||||
@@ -109,8 +112,8 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/browse" javascript_name="ips.browse.monthView.js" javascript_type="controller" javascript_version="101012" javascript_position="1000050"><![CDATA[/**
|
||||
* IPS Social Suite 4
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/browse" javascript_name="ips.browse.monthView.js" javascript_type="controller" javascript_version="101093" javascript_position="1000050"><![CDATA[/**
|
||||
* IPS Community Suite 4
|
||||
* (c) 2013 Invision Power Services - http://www.invisionpower.com
|
||||
*
|
||||
* ips.browse.monthView.js - Month view controller
|
||||
@@ -251,8 +254,8 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/submit" javascript_name="ips.submit.dates.js" javascript_type="controller" javascript_version="101012" javascript_position="1000100"><![CDATA[/**
|
||||
* IPS Social Suite 4
|
||||
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/submit" javascript_name="ips.submit.dates.js" javascript_type="controller" javascript_version="101093" javascript_position="1000100"><![CDATA[/**
|
||||
* IPS Community Suite 4
|
||||
* (c) 2013 Invision Power Services - http://www.invisionpower.com
|
||||
*
|
||||
* ips.submit.dates.js - Helper for date selection enhancements
|
||||
@@ -442,37 +445,6 @@
|
||||
// Update the dates
|
||||
this.scope.find('[data-role="dateSummary"]').html( this._dateSummary() );
|
||||
},
|
||||
|
||||
/**
|
||||
* Get date object from input
|
||||
*
|
||||
* @param {object} input Input element
|
||||
* @returns {object} Date object
|
||||
*/
|
||||
_getDate: function(input) {
|
||||
/* jQuery UI Polyfill needs to be changed into the correct format */
|
||||
if( !ips.utils.time.supportsHTMLDate() ) {
|
||||
/* If it has been initiated, we can use the getDate method */
|
||||
try {
|
||||
var thisDate = input.datepicker( "getDate" );
|
||||
|
||||
if( _.isNull( thisDate ) )
|
||||
{
|
||||
thisDate = new Date( input.attr('value') );
|
||||
}
|
||||
|
||||
return thisDate;
|
||||
}
|
||||
/* If it hasn't we can pull the 'value' attribute which can't have been changed yet. Not .val() as that will be in the wrong format */
|
||||
catch(err) {
|
||||
return new Date( input.attr('value') );
|
||||
}
|
||||
}
|
||||
/* Actual HTML5 input always returns .val() in the correct YYYY-MM-DD format */
|
||||
else {
|
||||
return new Date( input.val() );
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Builds a summary of the selected dates/times
|
||||
@@ -481,32 +453,26 @@
|
||||
*/
|
||||
_dateSummary: function () {
|
||||
// Build start date
|
||||
var startDate = this._getDate( this.scope.find('input[name="event_dates[start_date]"]') );
|
||||
var startDate = ips.utils.time.getDateFromInput( this.scope.find('input[name="event_dates[start_date]"]') );
|
||||
var singleDay = this.scope.find('#check_single_day');
|
||||
var allDay = this.scope.find('#check_all_day');
|
||||
|
||||
// If there's no start time, then abandon showing any summary for now
|
||||
if( !ips.utils.time.isValidDateObj( startDate ) || startDate.getFullYear() < 1900 ) {
|
||||
return '';
|
||||
}
|
||||
}
|
||||
|
||||
// We need to add the offset to ensure the day stays correct
|
||||
if( !ips.utils.time.supportsHTMLDate() ){
|
||||
startDate.setTime( startDate.getTime() - new Date().getTimezoneOffset()*60000 );
|
||||
}
|
||||
ips.utils.time.removeTimezone( startDate );
|
||||
|
||||
var startDateString = ips.utils.time.localeDateString( startDate, { weekday: 'short', month: 'short', day: 'numeric', year: 'numeric', timeZone: 'UTC' } );
|
||||
|
||||
var startTime = this._getTime( this.scope.find('input[name="event_dates[start_time]"]').val() );
|
||||
var endTime = this._getTime( this.scope.find('input[name="event_dates[end_time]"]').val() );
|
||||
var endDate = this._getDate( this.scope.find('input[name="event_dates[end_date]"]') );
|
||||
var endDate = ips.utils.time.getDateFromInput( this.scope.find('input[name="event_dates[end_date]"]') );
|
||||
var endDateString = '';
|
||||
|
||||
// If we have a valid end date...
|
||||
if( !singleDay.is(':checked') && ips.utils.time.isValidDateObj( endDate ) ){
|
||||
if( !ips.utils.time.supportsHTMLDate() ){
|
||||
endDate.setTime( endDate.getTime() - new Date().getTimezoneOffset()*60000 );
|
||||
}
|
||||
ips.utils.time.removeTimezone( endDate );
|
||||
endDateString = ips.utils.time.localeDateString( endDate, { weekday: 'short', month: 'short', day: 'numeric', year: 'numeric', timeZone: 'UTC' } );
|
||||
}
|
||||
|
||||
@@ -570,7 +536,7 @@
|
||||
endString = ips.pluralize( ips.getString( 'x_times' ), occurrences );
|
||||
}
|
||||
} else if( this.scope.find('#event_repeat_end_ondate').is(':checked') ){
|
||||
var dateObj = this._getDate( this.scope.find('input[name="event_dates[repeat_end_date]"]') );
|
||||
var dateObj = ips.utils.time.getDateFromInput( this.scope.find('input[name="event_dates[repeat_end_date]"]') );
|
||||
|
||||
if( ips.utils.time.isValidDateObj( dateObj ) && dateObj.getFullYear() > 1900 ){ // > 1900 just so it doesn't start updating on year 19 etc.
|
||||
endString = ips.getString('until', { date: ips.utils.time.localeDateString( dateObj, { weekday: 'short', month: 'short', day: 'numeric', year: 'numeric' } ) } );
|
||||
@@ -649,6 +615,7 @@
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<order app="global" path="/dev/js//framework/">templates
|
||||
common/ips.loader.js
|
||||
common/ui
|
||||
common/utils
|
||||
common
|
||||
@@ -662,6 +629,4 @@ app.js</order>
|
||||
<order app="global" path="/dev/js//library//jquery">jquery.js
|
||||
jquery.history.js
|
||||
jquery.transform.js</order>
|
||||
<order app="global" path="/dev/js//library//xregexp">xregexp-all.js
|
||||
xregexp-lookbehind.js</order>
|
||||
</javascript>
|
||||
@@ -1,11 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<language>
|
||||
<app key="calendar" version="101012">
|
||||
<app key="calendar" version="101093">
|
||||
<word key="__app_calendar" js="0">Calendar</word>
|
||||
<word key="frontnavigation_calendar" js="0">Calendar</word>
|
||||
<word key="__indefart_calendar_event_comment" js="0">a comment on a calendar event</word>
|
||||
<word key="__indefart_calendar_event" js="0">a calendar event</word>
|
||||
<word key="__indefart_calendar_event_review" js="0">a review on a calendar event</word>
|
||||
<word key="__defart_calendar_event_comment" js="0">comment on a calendar event</word>
|
||||
<word key="__defart_calendar_event" js="0">calendar event</word>
|
||||
<word key="__defart_calendar_event_review" js="0">review on a calendar event</word>
|
||||
<word key="calendar_event_container" js="0">calendar</word>
|
||||
<word key="menu__calendar_calendars" js="0">Calendar</word>
|
||||
<word key="menu__calendar_calendars_calendars" js="0">Calendars</word>
|
||||
@@ -16,7 +19,11 @@
|
||||
<word key="module__calendar_events" js="0">Events</word>
|
||||
<word key="event" js="0">Event</word>
|
||||
<word key="editor__calendar_Events" js="0">Calendar Events</word>
|
||||
<word key="editor__calendar_Calendar" js="0">Calendars</word>
|
||||
<word key="acp_search_title_calendar_Calendars" js="0">Calendars</word>
|
||||
<word key="calendar_event_pl_lc" js="0">calendar events</word>
|
||||
<word key="search_contextual_item_calendars" js="0">This Calendar</word>
|
||||
<word key="search_contextual_item_calendar_event" js="0">This Event</word>
|
||||
<word key="r__calendars" js="0">Calendars</word>
|
||||
<word key="r__calendars_manage" js="0">Can manage calendars?</word>
|
||||
<word key="r__calendars_add" js="0">Can add calendars?</word>
|
||||
@@ -36,6 +43,7 @@
|
||||
<word key="ipb_calendar_mon" js="0">Start calendar on Monday</word>
|
||||
<word key="ipb_calendar_mon_desc" js="0">By default, the calendar will use Sunday as the start day for each week. You can use this setting to start the calendar on Monday instead.</word>
|
||||
<word key="calendar_rss_feed" js="0">Enable upcoming events RSS feed</word>
|
||||
<word key="calendar_rss_feed_desc" js="0"><![CDATA[Only content that is available to guests will be shown. For more options, create a <a href='{internal.app=core&module=discovery&controller=rss}'>Custom RSS Feed</a>]]></word>
|
||||
<word key="calendar_rss_feed_days" js="0">Number of forthcoming days to include in the feed</word>
|
||||
<word key="acplogs__calendar_settings" js="0">Updated calendar settings</word>
|
||||
<word key="calendar_default_view" js="0">Default layout</word>
|
||||
@@ -44,7 +52,7 @@
|
||||
<word key="cal_df_week" js="0">Current week</word>
|
||||
<word key="cal_df_day" js="0">Current day</word>
|
||||
<word key="cal_df_stream" js="0">Stream of upcoming events</word>
|
||||
<word key="filestorage__calendar_Events" js="0">IP.Calendar Event Cover Photos</word>
|
||||
<word key="filestorage__calendar_Events" js="0">Calendar Event Cover Photos</word>
|
||||
<word key="calendar_df_locale" js="0">Use default date formatting</word>
|
||||
<word key="calendar_df_d_sm_y" js="0">DD MMM YYYY (Example: 01 Jan 2000)</word>
|
||||
<word key="calendar_df_d_lm_y" js="0">DD Month YYYY (Example: 01 January 2000)</word>
|
||||
@@ -139,13 +147,14 @@
|
||||
<word key="cal_week_title" js="0">%s %s %s - %s %s %s</word>
|
||||
<word key="cal_week_title_wb" js="0">w/b %s %s %s</word>
|
||||
<word key="cal_month_day" js="0">%s %s, %s</word>
|
||||
<word key="cal_month_day_noyear" js="0">%s %s</word>
|
||||
<word key="all_calendars" js="0">All Calendars</word>
|
||||
<word key="create_event" js="0">Create Event</word>
|
||||
<word key="select_calendar" js="0">Select Calendar</word>
|
||||
<word key="add_event" js="0">Add event</word>
|
||||
<word key="previous_month" js="0">Prev Month</word>
|
||||
<word key="next_month" js="0">Next Month</word>
|
||||
<word key="day" js="0">Day</word>
|
||||
<word key="yesterday" js="0">Yesterday</word>
|
||||
<word key="tomorrow" js="0">Tomorrow</word>
|
||||
<word key="prev_day" js="0">Prev Day</word>
|
||||
<word key="next_day" js="0">Next Day</word>
|
||||
@@ -158,12 +167,15 @@
|
||||
<word key="error_bad_date" js="0">The date you requested appears to be invalid</word>
|
||||
<word key="birthdays_today" js="0">{# [1:birthday][?:birthdays]} today</word>
|
||||
<word key="birthdays_count" js="0">{# [1:birthday][?:birthdays]}</word>
|
||||
<word key="birthdays_view_all" js="0">View all</word>
|
||||
<word key="calendar_event" js="0">Event</word>
|
||||
<word key="calendar_event_comment" js="0">Event Comment</word>
|
||||
<word key="calendar_event_review" js="0">Event Review</word>
|
||||
<word key="calendar_event_pl" js="0">Events</word>
|
||||
<word key="calendar_event_comment_pl" js="0">Event Comments</word>
|
||||
<word key="calendar_event_comment_pl_lc" js="0">event comments</word>
|
||||
<word key="calendar_event_review_pl" js="0">Event Reviews</word>
|
||||
<word key="calendar_event_review_pl_lc" js="0">event reviews</word>
|
||||
<word key="event_review_count" js="0"><![CDATA[<span id='reviewCount'>{#}</span> {!# [1:Review][?:Reviews]}]]></word>
|
||||
<word key="event_comment_count" js="0"><![CDATA[<span id='commentCount'>{#}</span> {!# [1:Comment][?:Comments]}]]></word>
|
||||
<word key="event_rsvp_attendees_list" js="0">{# [1:user has][?:users have]} RSVPed{!#[0: ][?:, including]}</word>
|
||||
@@ -174,12 +186,13 @@
|
||||
<word key="event_calendar_id" js="0">Calendar</word>
|
||||
<word key="event_container" js="0">Calendar</word>
|
||||
<word key="event_title" js="0">Title</word>
|
||||
<word key="event_ip_address" js="0">IP Address</word>
|
||||
<word key="event_tags" js="0">Tags</word>
|
||||
<word key="event_content" js="0">Description</word>
|
||||
<word key="event_dates" js="0">Date</word>
|
||||
<word key="rsvp" js="0">RSVP</word>
|
||||
<word key="event_rsvp" js="0">Request RSVP</word>
|
||||
<word key="event_rsvp_desc" js="0">Members who are allowed to RSVP for events will be asked to do so and will be able to see the list of members who have RSVP'd for this event</word>
|
||||
<word key="event_rsvp_desc" js="0">Members who are allowed to RSVP for events will be asked to do so and will be able to see the list of members who have RSVP'd for this event. For recurring events, responses apply to all occurrences.</word>
|
||||
<word key="event_to" js="0">to</word>
|
||||
<word key="event_all_day" js="0">This is an all day event</word>
|
||||
<word key="event_repeat" js="0">Repeat</word>
|
||||
@@ -205,11 +218,11 @@
|
||||
<word key="event_auto_follow" js="0"></word>
|
||||
<word key="event_auto_follow_suffix" js="0">Notify me when other comments are posted</word>
|
||||
<word key="event_rsvp_limit" js="0">RSVP Limit</word>
|
||||
<word key="event_rsvp_limit_desc" js="0">Once the limit is reached, no further attendees will be allowed to RSVP for this event</word>
|
||||
<word key="event_rsvp_limit_desc" js="0">Once the limit is reached, no further attendees will be allowed to RSVP for this event.</word>
|
||||
<word key="event_cover_photo" js="0">Cover Photo</word>
|
||||
<word key="event_location" js="0">Location</word>
|
||||
<word key="event_album" js="0">Album</word>
|
||||
<word key="event_album_desc" js="0">You can link an album from the Gallery to this event which will show the images on the event page and cause information about the event to be displayed on the album page</word>
|
||||
<word key="event_album_desc" js="0">You can link an album from the Gallery to this event which will show the images on the event page and cause information about the event to be displayed on the album page.</word>
|
||||
<word key="submit_event_start" js="0">Event Start</word>
|
||||
<word key="submit_event_end" js="0">Event End</word>
|
||||
<word key="submit_event_summary" js="0">Summary</word>
|
||||
@@ -258,6 +271,7 @@
|
||||
<word key="rsvp_attendees" js="0">Going</word>
|
||||
<word key="rsvp_maybe_attendees" js="0">Maybe</word>
|
||||
<word key="rsvp_notgoing_attendees" js="0">Declined</word>
|
||||
<word key="event_address" js="0">Event Address</word>
|
||||
<word key="no_rsvps_yet" js="0">No one is attending yet.</word>
|
||||
<word key="no_decline_rsvps_yet" js="0">No one has declined yet.</word>
|
||||
<word key="no_maybe_rsvps_yet" js="0">No one has said they might go yet.</word>
|
||||
@@ -270,22 +284,22 @@
|
||||
<word key="rsvp_download" js="0">Download guest list</word>
|
||||
<word key="event_rsvp_attendees_other" js="0">Other Responses</word>
|
||||
<word key="recur_human_yearly" js="0">This event repeats every year %s</word>
|
||||
<word key="recur_human_yearly_multi" js="0">This event repeats every %s years %s</word>
|
||||
<word key="recur_human_yearly_multi" js="0">This event repeats every {# [?:years]} %s</word>
|
||||
<word key="recur_human_monthly" js="0">This event repeats every month %s</word>
|
||||
<word key="recur_human_monthly_multi" js="0">This event repeats every %s months %s</word>
|
||||
<word key="recur_human_monthly_multi" js="0">This event repeats every {# [?:months]} %s</word>
|
||||
<word key="recur_human_weekly" js="0">This event repeats every week %s</word>
|
||||
<word key="recur_human_weekly_multi" js="0">This event repeats every %s weeks %s</word>
|
||||
<word key="recur_human_weekly_multi" js="0">This event repeats every {# [?:weeks]} %s</word>
|
||||
<word key="recur_human_weekly_days" js="0">This event repeats every week on %s %s</word>
|
||||
<word key="recur_human_weekly_multi_days" js="0">This event repeats every %s weeks on %s %s</word>
|
||||
<word key="recur_human_weekly_multi_days" js="0">This event repeats every {# [?:weeks]} on %s %s</word>
|
||||
<word key="recur_human_daily" js="0">This event repeats every day %s</word>
|
||||
<word key="recur_human_daily_multi" js="0">This event repeats every %s days %s</word>
|
||||
<word key="recur_human_daily_multi" js="0">This event repeats every {# [?:days]} %s</word>
|
||||
<word key="recur_human__forever" js="0">forever</word>
|
||||
<word key="recur_human__occurrences" js="0">for {# [1:occurrence][?:occurrences]}</word>
|
||||
<word key="recur_human__until" js="0">until %s</word>
|
||||
<word key="event_rss_feed_off" js="0">This RSS feed is currently unavailable</word>
|
||||
<word key="event_rss_feed_off_admin" js="0">The calendar RSS feed is currently disabled in the admin control panel</word>
|
||||
<word key="event_attendees" js="0">Attendees for %s</word>
|
||||
<word key="rsvp_limit_info" js="0">{# [1:user][?:users]} out of a total limit of %s have RSVPed for this event</word>
|
||||
<word key="rsvp_limit_info" js="0">{# [1:user has][?:users have]} RSVPed for this event. A total of %s can RSVP.</word>
|
||||
<word key="rsvp_limit_nomaybe" js="0">You may only indicate you are going or not going when an event has a limit specified</word>
|
||||
<word key="no_event_review" js="0">You do not have permission to review events</word>
|
||||
<word key="task_BAD_CONTENT" js="0">The iCalendar feed %s is not correctly formatted in a recognized iCalendar format</word>
|
||||
@@ -312,12 +326,12 @@
|
||||
<word key="auto_hide_desc" js="0">Hide this block when there are no results to display</word>
|
||||
<word key="days_ahead" js="0">Number of days to show</word>
|
||||
<word key="maximum_count" js="0">Number of events</word>
|
||||
<word key="view_this_event" js="0">View %s</word>
|
||||
<word key="view_this_event" js="0">View the event %s</word>
|
||||
<word key="block_todaysBirthdays" js="0">Today's Birthdays</word>
|
||||
<word key="block_todaysBirthdays_desc" js="0">Shows birthdays from today</word>
|
||||
<word key="no_members_birthday_today" js="0">No users celebrating today</word>
|
||||
<word key="no_upcoming_events" js="0">No upcoming events found</word>
|
||||
<word key="member_age" js="0">(%s years old)</word>
|
||||
<word key="member_age" js="0">({# [1:year][?:years]} old)</word>
|
||||
<word key="block_recentReviews" js="0">Recent Event Reviews</word>
|
||||
<word key="block_recentReviews_desc" js="0">Display the most recent reviews</word>
|
||||
<word key="no_recent_reviews" js="0">No recent reviews found</word>
|
||||
@@ -366,13 +380,20 @@
|
||||
<word key="timezone_offset_12.75" js="0">[GMT + 12:45] Chatham Islands Time</word>
|
||||
<word key="timezone_offset_13" js="0">[GMT + 13] Phoenix Islands Time</word>
|
||||
<word key="timezone_offset_14" js="0">[GMT + 14] Line Island Time</word>
|
||||
<word key="task__icalendar" js="0">Checks iCalendar feeds for new events and imports into IP.Calendar.</word>
|
||||
<word key="digest_area_calendar" js="0">Events</word>
|
||||
<word key="digest_area_event" js="0">Event</word>
|
||||
<word key="task__icalendar" js="0">Checks iCalendar feeds for new events and imports into Calendar.</word>
|
||||
<word key="digest_area_calendar_calendar" js="0">Events</word>
|
||||
<word key="digest_area_calendar_event" js="0">Event</word>
|
||||
<word key="x_created_event_in" js="0">%s posted an event in %s</word>
|
||||
<word key="x_commented_event" js="0">%s commented on an event</word>
|
||||
<word key="digest_event_on" js="0">Event on</word>
|
||||
<word key="digest_users_going" js="0">{# [1:user][?:users]} going</word>
|
||||
<word key="mailsub__calendar_notification_new_content" js="0"><![CDATA[{$content->mapped("title")|raw}]]></word>
|
||||
<word key="email_new_calevent_plain" js="0">%s has posted %s, %s, for %s</word>
|
||||
<word key="email_new_calevent" js="0"><![CDATA[<a href='%s'>%s</a> has posted %s, <a href='%s'>%s</a>, for %s]]></word>
|
||||
<word key="email_new_calevent_guest" js="0"><![CDATA[%s (Guest) has posted %s, <a href='%s'>%s</a>, for %s]]></word>
|
||||
<word key="__api_calendar_events" js="0">Events</word>
|
||||
<word key="__api_calendar_comments" js="0">Comments</word>
|
||||
<word key="__api_calendar_reviews" js="0">Reviews</word>
|
||||
<word key="x_daily" js="1">{# [1:day][?:days]}</word>
|
||||
<word key="x_weekly" js="1">{# [1:week][?:weeks]}</word>
|
||||
<word key="x_monthly" js="1">{# [1:month][?:months]}</word>
|
||||
|
||||
@@ -0,0 +1,422 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<language>
|
||||
<app key="calendar" version="101093">
|
||||
<word key_rus="Календарь" key="__app_calendar" js="0">Calendar</word>
|
||||
<word key_rus="Календарь" key="frontnavigation_calendar" js="0">Calendar</word>
|
||||
<word key_rus="комментарий события" key="__indefart_calendar_event_comment" js="0">a comment on a calendar event</word>
|
||||
<word key_rus="событие календаря" key="__indefart_calendar_event" js="0">a calendar event</word>
|
||||
<word key_rus="отзыв на событие" key="__indefart_calendar_event_review" js="0">a review on a calendar event</word>
|
||||
<word key_rus="комментарий к событию календаря" key="__defart_calendar_event_comment" js="0">comment on a calendar event</word>
|
||||
<word key_rus="событие календаря" key="__defart_calendar_event" js="0">calendar event</word>
|
||||
<word key_rus="отзыв к событию календаря" key="__defart_calendar_event_review" js="0">review on a calendar event</word>
|
||||
<word key_rus="календарь" key="calendar_event_container" js="0">calendar</word>
|
||||
<word key_rus="Календарь" key="menu__calendar_calendars" js="0">Calendar</word>
|
||||
<word key_rus="Календари" key="menu__calendar_calendars_calendars" js="0">Calendars</word>
|
||||
<word key_rus="Ленты iCalendar" key="menu__calendar_calendars_ical" js="0">iCalendar Feeds</word>
|
||||
<word key_rus="Настройки" key="menu__calendar_calendars_settings" js="0">Settings</word>
|
||||
<word key_rus="Календарь" key="module__calendar_calendar" js="0">Calendar</word>
|
||||
<word key_rus="Календари" key="module__calendar_calendars" js="0">Calendars</word>
|
||||
<word key_rus="События" key="module__calendar_events" js="0">Events</word>
|
||||
<word key_rus="Событие" key="event" js="0">Event</word>
|
||||
<word key_rus="События календаря" key="editor__calendar_Events" js="0">Calendar Events</word>
|
||||
<word key_rus="Календари" key="editor__calendar_Calendar" js="0">Calendars</word>
|
||||
<word key_rus="Календари" key="acp_search_title_calendar_Calendars" js="0">Calendars</word>
|
||||
<word key_rus="событие календаря" key="calendar_event_pl_lc" js="0">calendar events</word>
|
||||
<word key_rus="Этот календарь" key="search_contextual_item_calendars" js="0">This Calendar</word>
|
||||
<word key_rus="Это событие" key="search_contextual_item_calendar_event" js="0">This Event</word>
|
||||
<word key_rus="Календари" key="r__calendars" js="0">Calendars</word>
|
||||
<word key_rus="Можно управлять календарями?" key="r__calendars_manage" js="0">Can manage calendars?</word>
|
||||
<word key_rus="Можно добавлять календари?" key="r__calendars_add" js="0">Can add calendars?</word>
|
||||
<word key_rus="Можно редактировать календари?" key="r__calendars_edit" js="0">Can edit calendars?</word>
|
||||
<word key_rus="Можно упарвлять разрешениями календаря?" key="r__calendars_permissions" js="0">Can manage calendar permissions?</word>
|
||||
<word key_rus="Можно удалять календари?" key="r__calendars_delete" js="0">Can delete calendars?</word>
|
||||
<word key_rus="Ленты iCalendar" key="r__ical" js="0">iCalendar Feeds</word>
|
||||
<word key_rus="Можно управлять импортом лент iCalendar?" key="r__calendar_feeds_manage" js="0">Can manage iCalendar feed imports?</word>
|
||||
<word key_rus="Можно добавлять импорт лент iCalendar?" key="r__calendar_feeds_add" js="0">Can add iCalendar feed imports?</word>
|
||||
<word key_rus="Можно редактировать импорт лент iCalendar?" key="r__calendar_feeds_edit" js="0">Can edit iCalendar feed imports?</word>
|
||||
<word key_rus="Можно удалять импорт лент iCalendar?" key="r__calendar_feeds_delete" js="0">Can delete iCalendar feed imports?</word>
|
||||
<word key_rus="Просмотр календаря: %s" key="loc_calendar_viewing_calendar" js="0">Viewing Calendar: %s</word>
|
||||
<word key_rus="Просмотр календаря" key="loc_calendar_viewing_calendar_all" js="0">Viewing Calendar</word>
|
||||
<word key_rus="Просмотр события: %s" key="loc_calendar_viewing_event" js="0">Viewing Event: %s</word>
|
||||
<word key_rus="Показать дни рождения в календаре" key="show_bday_calendar" js="0">Show birthdays on calendar</word>
|
||||
<word key_rus="Если включено, календарь будет показывать количество дней рождения пользователей за каждый день и отобразит список празднующих пользователей при просмотре даты." key="show_bday_calendar_desc" js="0">When enabled, the calendar will show the number of member birthdays for each day and will list member birthdays when viewing a date.</word>
|
||||
<word key_rus="Начать календарь с понедельника" key="ipb_calendar_mon" js="0">Start calendar on Monday</word>
|
||||
<word key_rus="По умолчанию, календарь будет использовать воскресенье в качестве дня начала недели. Вы можете использовать этот параметр для начала календаря с понедельника." key="ipb_calendar_mon_desc" js="0">By default, the calendar will use Sunday as the start day for each week. You can use this setting to start the calendar on Monday instead.</word>
|
||||
<word key_rus="Включить RSS-ленту предстоящих событий" key="calendar_rss_feed" js="0">Enable upcoming events RSS feed</word>
|
||||
<word key_rus="Будет отображён контент, доступный для гостей. Для получения дополнительных возможностей, создайте <a href='{internal.app=core&module=discovery&controller=rss}'>Пользовательскую RSS ленту</a>" key="calendar_rss_feed_desc" js="0"><![CDATA[Only content that is available to guests will be shown. For more options, create a <a href='{internal.app=core&module=discovery&controller=rss}'>Custom RSS Feed</a>]]></word>
|
||||
<word key_rus="Количество предстоящих дней событий для включения в ленту" key="calendar_rss_feed_days" js="0">Number of forthcoming days to include in the feed</word>
|
||||
<word key_rus="Настройки календаря обновлены" key="acplogs__calendar_settings" js="0">Updated calendar settings</word>
|
||||
<word key_rus="Стандартный шаблон" key="calendar_default_view" js="0">Default layout</word>
|
||||
<word key_rus="Эта настройка позволяет вам настраивать стандартный шаблон главной страницы календаря. Пользователи могут переопределить стандартный вид, если захотят." key="calendar_default_view_desc" js="0">This setting allows you to control the default layout of the calendar homepage. Users can override the default view if they wish.</word>
|
||||
<word key_rus="Текущий месяц" key="cal_df_month" js="0">Current month</word>
|
||||
<word key_rus="Текущая неделя" key="cal_df_week" js="0">Current week</word>
|
||||
<word key_rus="Текущий день" key="cal_df_day" js="0">Current day</word>
|
||||
<word key_rus="Лента предстоящих событий" key="cal_df_stream" js="0">Stream of upcoming events</word>
|
||||
<word key_rus="Обложки событий календаря" key="filestorage__calendar_Events" js="0">Calendar Event Cover Photos</word>
|
||||
<word key_rus="Использовать стандартное форматирование даты" key="calendar_df_locale" js="0">Use default date formatting</word>
|
||||
<word key_rus="ДД МММ ГГГГ (Пример: 01 Янв 2015)" key="calendar_df_d_sm_y" js="0">DD MMM YYYY (Example: 01 Jan 2000)</word>
|
||||
<word key_rus="ДД Месяц ГГГГ (Пример: 01 Январь 2015)" key="calendar_df_d_lm_y" js="0">DD Month YYYY (Example: 01 January 2000)</word>
|
||||
<word key_rus="МММ ДД, ГГГГ (Пример: Янв 01, 2015)" key="calendar_df_sm_d_y" js="0">MMM DD, YYYY (Example: Jan 01, 2000)</word>
|
||||
<word key_rus="Месяц ДД, ГГГГ (Пример: Январь 01, 2015)" key="calendar_df_lm_d_y" js="0">Month DD, YYYY (Example: January 01, 2000)</word>
|
||||
<word key_rus="Или укажите другой формат" key="calendar_custom_df" js="0">Or specify a custom date format</word>
|
||||
<word key_rus="Формат даты для мероприятий" key="calendar_date_format" js="0">Date format for events</word>
|
||||
<word key_rus="Пользовательский формат даты" key="calendar_date_format_custom" js="0">Custom date format</word>
|
||||
<word key_rus="Вы можете использовать любой <a href='http://php.net/strftime' target='_blank'>PHP формат</a> для отображения дат в календаре" key="calendar_date_format_custom_desc" js="0"><![CDATA[You can use any <a href='http://php.net/strftime' target='_blank'>PHP strftime</a> options to specify a custom format for dates in calendar]]></word>
|
||||
<word key_rus="Вы должны выбрать предопределенный формат даты или указать пользовательский" key="calendar_no_date_format" js="0">You must either choose a predefined date format or specify a custom date format</word>
|
||||
<word key_rus="Календари" key="calendars" js="0">Calendars</word>
|
||||
<word key_rus="Календарь" key="calendars_sg" js="0">Calendar</word>
|
||||
<word key_rus="Настройки" key="calendar_settings" js="0">Settings</word>
|
||||
<word key_rus="Разрешения" key="calendar_permissions" js="0">Permissions</word>
|
||||
<word key_rus="Модерация" key="calendar_moderation" js="0">Moderation</word>
|
||||
<word key_rus="Название" key="cal_title" js="0">Name</word>
|
||||
<word key_rus="События должны быть одобрены?" key="cal_moderate" js="0">Events must be approved?</word>
|
||||
<word key_rus="Комментарии должны быть одобрены?" key="cal_comment_moderate" js="0">Comments must be approved?</word>
|
||||
<word key_rus="Разрешить комментарии?" key="cal_allow_comments" js="0">Allow comments?</word>
|
||||
<word key_rus="Разрешить отзывы?" key="cal_allow_reviews" js="0">Allow reviews?</word>
|
||||
<word key_rus="Отзывы должны быть одобрены?" key="cal_review_moderate" js="0">Reviews must be approved?</word>
|
||||
<word key_rus="" key="calperm_perm__label" js="0"></word>
|
||||
<word key_rus="Просмотр календаря" key="calperm_perm__view" js="0">See Calendar</word>
|
||||
<word key_rus="Просмотр событий" key="calperm_perm__read" js="0">View Events</word>
|
||||
<word key_rus="Добавление событий" key="calperm_perm__add" js="0">Add Events</word>
|
||||
<word key_rus="Комментирование" key="calperm_perm__reply" js="0">Comment</word>
|
||||
<word key_rus="Запрашивать RSVP" key="calperm_perm__askrsvp" js="0">Request RSVP</word>
|
||||
<word key_rus="RSVP" key="calperm_perm__rsvp" js="0">RSVP</word>
|
||||
<word key_rus="Отзыв" key="calperm_perm__review" js="0">Review</word>
|
||||
<word key_rus="Цвет" key="cal_color" js="0">Color</word>
|
||||
<word key_rus="Добавить календарь" key="add_calendar" js="0">Add Calendar</word>
|
||||
<word key_rus="Изменить календарь" key="edit_calendar" js="0">Edit Calendar</word>
|
||||
<word key_rus="Календарь" key="modperms__core_Content_calendar_Event" js="0">Calendar</word>
|
||||
<word key_rus="Календари" key="calendar_calendars" js="0">Calendars</word>
|
||||
<word key_rus="Можно закреплять события?" key="can_pin_calendar_event" js="0">Can pin events?</word>
|
||||
<word key_rus="Можно откреплять события?" key="can_unpin_calendar_event" js="0">Can unpin events?</word>
|
||||
<word key_rus="Можно устанавливать события популярными?" key="can_feature_calendar_event" js="0">Can feature events?</word>
|
||||
<word key_rus="Можно устанавливать события непопулярными?" key="can_unfeature_calendar_event" js="0">Can unfeature events?</word>
|
||||
<word key_rus="Можно перемещать события?" key="can_move_calendar_event" js="0">Can move events?</word>
|
||||
<word key_rus="Можно блокировать события?" key="can_lock_calendar_event" js="0">Can lock events?</word>
|
||||
<word key_rus="Можно разблокировать события?" key="can_unlock_calendar_event" js="0">Can unlock events?</word>
|
||||
<word key_rus="Можно комментировать закрытые события?" key="can_reply_to_locked_calendar_event" js="0">Can comment on locked events?</word>
|
||||
<word key_rus="Можно редактировать события?" key="can_edit_calendar_event" js="0">Can edit events?</word>
|
||||
<word key_rus="Можно скрывать события?" key="can_hide_calendar_event" js="0">Can hide events?</word>
|
||||
<word key_rus="Можно показывать события?" key="can_unhide_calendar_event" js="0">Can unhide events?</word>
|
||||
<word key_rus="Можно просматривать скрытые события?" key="can_view_hidden_calendar_event" js="0">Can view hidden events?</word>
|
||||
<word key_rus="Можно удалять события?" key="can_delete_calendar_event" js="0">Can delete events?</word>
|
||||
<word key_rus="Можно редактировать комментарии?" key="can_edit_calendar_event_comment" js="0">Can edit comments?</word>
|
||||
<word key_rus="Можно скрывать комментарии?" key="can_hide_calendar_event_comment" js="0">Can hide comments?</word>
|
||||
<word key_rus="Можно показывать комментарии?" key="can_unhide_calendar_event_comment" js="0">Can unhide comments?</word>
|
||||
<word key_rus="Можно просматривать скрытые комментарии?" key="can_view_hidden_calendar_event_comment" js="0">Can view hidden comments?</word>
|
||||
<word key_rus="Можно удалять комментарии?" key="can_delete_calendar_event_comment" js="0">Can delete comments?</word>
|
||||
<word key_rus="Можно редактировать отзывы?" key="can_edit_calendar_event_review" js="0">Can edit reviews?</word>
|
||||
<word key_rus="Можно скрывать отзывы?" key="can_hide_calendar_event_review" js="0">Can hide reviews?</word>
|
||||
<word key_rus="Можно показывать отзывы?" key="can_unhide_calendar_event_review" js="0">Can unhide reviews?</word>
|
||||
<word key_rus="Можно просматривать скрытые отзывы?" key="can_view_hidden_calendar_event_review" js="0">Can view hidden reviews?</word>
|
||||
<word key_rus="Можно удалять отзывы?" key="can_delete_calendar_event_review" js="0">Can delete reviews?</word>
|
||||
<word key_rus="Импорт ленты iCalendar" key="ical_title" js="0">iCalendar Feed Imports</word>
|
||||
<word key_rus="Заголовок" key="ical_feed_title" js="0">Title</word>
|
||||
<word key_rus="Добавлено" key="ical_feed_added" js="0">Added</word>
|
||||
<word key_rus="Последнее обновление" key="ical_feed_lastupdated" js="0">Last Updated</word>
|
||||
<word key_rus="Календарь" key="ical_feed_calendar_id" js="0">Calendar</word>
|
||||
<word key_rus="URL" key="ical_feed_url" js="0">URL</word>
|
||||
<word key_rus="Добавить ленту iCalendar" key="calendar_feeds_add" js="0">Add iCalendar Feed</word>
|
||||
<word key_rus="Загрузить файл iCalendar" key="calendar_feeds_upload" js="0">Upload iCalendar File</word>
|
||||
<word key_rus="Импорт новых событий" key="update_ical" js="0">Import new events</word>
|
||||
<word key_rus="Название" key="feed_title" js="0">Name</word>
|
||||
<word key_rus="URL" key="feed_url" js="0">URL</word>
|
||||
<word key_rus="URL должен начинаться с http://, https:// или webcal://" key="feed_url_desc" js="0">The URL should start with http://, https:// or webcal://</word>
|
||||
<word key_rus="Пользователь" key="feed_member_id" js="0">Member</word>
|
||||
<word key_rus="События, импортированные этой лентой, будут созданы под именем этого пользователя" key="feed_member_id_desc" js="0">Events from this feed will be created by this member</word>
|
||||
<word key_rus="Календарь" key="feed_calendar_id" js="0">Calendar</word>
|
||||
<word key_rus="Выберите календарь, в который будут сохранены события, импортированные этой лентой" key="feed_calendar_id_desc" js="0">Select the calendar that events from this feed will be saved to</word>
|
||||
<word key_rus="Включить RSVP" key="feed_allow_rsvp" js="0">Enable RSVP</word>
|
||||
<word key_rus="Если включено, RSVP будет активирован для всех событий, импортированных этой лентой" key="feed_allow_rsvp_desc" js="0">If enabled, RSVP will be enabled for all events imported from this feed</word>
|
||||
<word key_rus="Загружен файл iCalendar (%s событий импортировано и %s пропущено)" key="acplog__ical_uploaded" js="0">Uploaded an iCalendar file (%s events imported and %s events skipped)</word>
|
||||
<word key_rus="Добавлена %s лента iCalendar" key="acplog__icalfeed_created" js="0">Added %s iCalendar feed</word>
|
||||
<word key_rus="Изменена %s лента iCalendar" key="acplog__icalfeed_updated" js="0">Edited %s iCalendar feed</word>
|
||||
<word key_rus="События iCalendar импортированы" key="feed_uploaded" js="0">iCalendar Events Imported</word>
|
||||
<word key_rus="Обновлена лента iCalendar (%s событий импортировано и %s пропущено)" key="acplog__icalfeed_refreshed" js="0">Refreshed iCalendar feed (%s events imported and %s events skipped)</word>
|
||||
<word key_rus="Обновлена лента iCalendar" key="feed_refreshed" js="0">iCalendar Feed Refreshed</word>
|
||||
<word key_rus="Файл iCalendar" key="feed_file" js="0">iCalendar File</word>
|
||||
<word key_rus="Файлы iCalendar обычно имеют расширение .ics" key="feed_file_desc" js="0">iCalendar files usually have a .ics extension</word>
|
||||
<word key_rus="Мы не смогли найти эту ленту iCalendar" key="feed_not_found" js="0">We could not find that iCalendar feed</word>
|
||||
<word key_rus="Лента iCalendar %s удалена" key="acplog__icalfeed_deleted" js="0">%s iCalendar feed deleted</word>
|
||||
<word key_rus="Хранение событий" key="keep_events" js="0">Keep Events</word>
|
||||
<word key_rus="Вы можете выбрать события для удаления, которые были импортированы этой лентой" key="keep_events_desc" js="0">You can choose to remove events that were imported from this feed</word>
|
||||
<word key_rus="Лента является недопустимой, т.к. отсутствует контент для импорта" key="ical_error_NO_CONTENT" js="0">The feed appears to be invalid because no content was returned</word>
|
||||
<word key_rus="Лента является недопустимой, т.к. контент не соответствует ожидаемому формату" key="ical_error_BAD_CONTENT" js="0">The feed appears to be invalid because content not matching the expected format was returned</word>
|
||||
<word key_rus="%s %s" key="cal_month_title" js="0">%s %s</word>
|
||||
<word key_rus="Лента событий для %s %s" key="cal_month_stream_title" js="0">Event stream for %s %s</word>
|
||||
<word key_rus="%s %s %s - %s %s %s" key="cal_week_title" js="0">%s %s %s - %s %s %s</word>
|
||||
<word key_rus="w/b %s %s %s" key="cal_week_title_wb" js="0">w/b %s %s %s</word>
|
||||
<word key_rus="%s %s, %s" key="cal_month_day" js="0">%s %s, %s</word>
|
||||
<word key_rus="%s %s" key="cal_month_day_noyear" js="0">%s %s</word>
|
||||
<word key_rus="Все календари" key="all_calendars" js="0">All Calendars</word>
|
||||
<word key_rus="Создать событие" key="create_event" js="0">Create Event</word>
|
||||
<word key_rus="Выбрать календарь" key="select_calendar" js="0">Select Calendar</word>
|
||||
<word key_rus="Добавить событие" key="add_event" js="0">Add event</word>
|
||||
<word key_rus="Предыдущий месяц" key="previous_month" js="0">Prev Month</word>
|
||||
<word key_rus="Следующий месяц" key="next_month" js="0">Next Month</word>
|
||||
<word key_rus="День" key="day" js="0">Day</word>
|
||||
<word key_rus="Завтра" key="tomorrow" js="0">Tomorrow</word>
|
||||
<word key_rus="Предыдущий день" key="prev_day" js="0">Prev Day</word>
|
||||
<word key_rus="Следующий день" key="next_day" js="0">Next Day</word>
|
||||
<word key_rus="Лента событий" key="event_stream" js="0">Event Stream</word>
|
||||
<word key_rus="Лента" key="event_stream_short" js="0">Stream</word>
|
||||
<word key_rus="Предыдущая неделя" key="previous_week" js="0">Prev Week</word>
|
||||
<word key_rus="Следующая неделя" key="next_week" js="0">Next Week</word>
|
||||
<word key_rus="Событий, запланированных на этот день, нет" key="no_events_today" js="0">No events scheduled today</word>
|
||||
<word key_rus="Событий, запланированных на этот месяц, нет" key="no_events_month" js="0">No events scheduled this month</word>
|
||||
<word key_rus="Дата недействительна" key="error_bad_date" js="0">The date you requested appears to be invalid</word>
|
||||
<word key_rus="Сегодня {# [*1:день рождения][*2:дня рождения][*3:дня рождения][*4:дня рождения][11:дней рождений][12:дней рождений][13:дней рождений][14:дней рождений][?:дней рождений]}" key="birthdays_today" js="0">{# [1:birthday][?:birthdays]} today</word>
|
||||
<word key_rus="{# [*1:день рождения][*2:дня рождения][*3:дня рождения][*4:дня рождения][11:дней рождений][12:дней рождений][13:дней рождений][14:дней рождений][?:дней рождений]}" key="birthdays_count" js="0">{# [1:birthday][?:birthdays]}</word>
|
||||
<word key_rus="Посмотреть все" key="birthdays_view_all" js="0">View all</word>
|
||||
<word key_rus="Событие" key="calendar_event" js="0">Event</word>
|
||||
<word key_rus="Комментарий события" key="calendar_event_comment" js="0">Event Comment</word>
|
||||
<word key_rus="Отзыв о событии" key="calendar_event_review" js="0">Event Review</word>
|
||||
<word key_rus="События" key="calendar_event_pl" js="0">Events</word>
|
||||
<word key_rus="Комментарии события" key="calendar_event_comment_pl" js="0">Event Comments</word>
|
||||
<word key_rus="комментарии события" key="calendar_event_comment_pl_lc" js="0">event comments</word>
|
||||
<word key_rus="Отзывы о событии" key="calendar_event_review_pl" js="0">Event Reviews</word>
|
||||
<word key_rus="отзывы календаря" key="calendar_event_review_pl_lc" js="0">event reviews</word>
|
||||
<word key_rus="<span id='reviewCount'>{#}</span> {!# [*1:Отзыв][*2:Отзыва][*3:Отзыва][*4:Отзыва][11:Отзывов][12:Отзывов][13:Отзывов][14:Отзывов][?:Отзывов]}" key="event_review_count" js="0"><![CDATA[<span id='reviewCount'>{#}</span> {!# [1:Review][?:Reviews]}]]></word>
|
||||
<word key_rus="<span id='commentCount'>{#}</span> {!# [*1:Комментарий][*2:Комментария][*3:Комментария][*4:Комментария][11:Комментариев][12:Комментариев][13:Комментариев][14:Комментариев][?:Комментариев]}" key="event_comment_count" js="0"><![CDATA[<span id='commentCount'>{#}</span> {!# [1:Comment][?:Comments]}]]></word>
|
||||
<word key_rus="{# [*1:пользователь имеет][*2:пользователя имеют][*3:пользователя имеют][*4:пользователя имеют][11:пользователей имеют][12:пользователей имеют][13:пользователей имеют][14:пользователей имеют][?:пользователей имеют]} приглашения (RSVP){!#[0: ][?:, в том числе]}" key="event_rsvp_attendees_list" js="0">{# [1:user has][?:users have]} RSVPed{!#[0: ][?:, including]}</word>
|
||||
<word key_rus="Предстоящие события" key="calendar_rss_title" js="0">Upcoming Events</word>
|
||||
<word key_rus="Добавить событие" key="submit_event" js="0">Submit an event</word>
|
||||
<word key_rus="С '%s'" key="with_calendar" js="0">With '%s'</word>
|
||||
<word key_rus="Со всеми Календарями" key="with_all_calendars" js="0">With All Calendars</word>
|
||||
<word key_rus="Календарь" key="event_calendar_id" js="0">Calendar</word>
|
||||
<word key_rus="Календарь" key="event_container" js="0">Calendar</word>
|
||||
<word key_rus="Заголовок" key="event_title" js="0">Title</word>
|
||||
<word key_rus="IP-адрес" key="event_ip_address" js="0">IP Address</word>
|
||||
<word key_rus="Теги" key="event_tags" js="0">Tags</word>
|
||||
<word key_rus="Описание" key="event_content" js="0">Description</word>
|
||||
<word key_rus="Дата" key="event_dates" js="0">Date</word>
|
||||
<word key_rus="RSVP" key="rsvp" js="0">RSVP</word>
|
||||
<word key_rus="Требовать RSVP" key="event_rsvp" js="0">Request RSVP</word>
|
||||
<word key_rus="Пользователи, которым разрешено отвечать на приглашения (RSVP) на события, будет предложено сделать это и смогут увидеть список пользователей, кто уже ответил на приглашение на это событие. Для повторяющихся событий, ответы применяются ко всем вхождениям." key="event_rsvp_desc" js="0">Members who are allowed to RSVP for events will be asked to do so and will be able to see the list of members who have RSVP'd for this event. For recurring events, responses apply to all occurrences.</word>
|
||||
<word key_rus="до" key="event_to" js="0">to</word>
|
||||
<word key_rus="Это событие продлится весь день" key="event_all_day" js="0">This is an all day event</word>
|
||||
<word key_rus="Повтор" key="event_repeat" js="0">Repeat</word>
|
||||
<word key_rus="Изменить часовой пояс" key="change_timezone" js="0">Change the time zone</word>
|
||||
<word key_rus="Часовой пояс события" key="event_timezone" js="0">Event Time Zone</word>
|
||||
<word key_rus="Повторы:" key="event_rpm_repeats" js="0">Repeats:</word>
|
||||
<word key_rus="Ежедневно" key="event_rpm_repeats_daily" js="0">Daily</word>
|
||||
<word key_rus="Еженедельно" key="event_rpm_repeats_weekly" js="0">Weekly</word>
|
||||
<word key_rus="Ежемесячно" key="event_rpm_repeats_monthly" js="0">Monthly</word>
|
||||
<word key_rus="Ежегодно" key="event_rpm_repeats_yearly" js="0">Yearly</word>
|
||||
<word key_rus="Повторять каждые:" key="event_rpm_repeatevery" js="0">Repeat every:</word>
|
||||
<word key_rus="дней" key="event_rpm_repeatevery_day" js="0">days</word>
|
||||
<word key_rus="недели" key="event_rpm_repeatevery_week" js="0">weeks</word>
|
||||
<word key_rus="месяцев" key="event_rpm_repeatevery_month" js="0">months</word>
|
||||
<word key_rus="лет" key="event_rpm_repeatevery_year" js="0">years</word>
|
||||
<word key_rus="Повтор на:" key="event_rpm_repeaton" js="0">Repeat on:</word>
|
||||
<word key_rus="Событие на один день" key="event_single_day" js="0">Single day event</word>
|
||||
<word key_rus="Окончание:" key="event_rpm_ends" js="0">Ends:</word>
|
||||
<word key_rus="Никогда" key="event_rpm_ends_never" js="0">Never</word>
|
||||
<word key_rus="После" key="event_rpm_ends_afterx" js="0">After</word>
|
||||
<word key_rus="прошедших событий" key="event_rpm_ends_occurrencesx" js="0">occurrences</word>
|
||||
<word key_rus="В" key="event_rpm_ends_date" js="0">On</word>
|
||||
<word key_rus="" key="event_auto_follow" js="0"></word>
|
||||
<word key_rus="Сообщать мне при публикации комментариев" key="event_auto_follow_suffix" js="0">Notify me when other comments are posted</word>
|
||||
<word key_rus="Лимит RSVP" key="event_rsvp_limit" js="0">RSVP Limit</word>
|
||||
<word key_rus="Как только лимит достигнут, дальнейшие участники не будут допущены к RSVP этого события." key="event_rsvp_limit_desc" js="0">Once the limit is reached, no further attendees will be allowed to RSVP for this event.</word>
|
||||
<word key_rus="Обложка" key="event_cover_photo" js="0">Cover Photo</word>
|
||||
<word key_rus="Местонахождение" key="event_location" js="0">Location</word>
|
||||
<word key_rus="Альбом" key="event_album" js="0">Album</word>
|
||||
<word key_rus="Вы можете связать альбом из Галереи с этим событием, который отобразит изображения на странице события и вызовет информацию об этом событии на странице альбома." key="event_album_desc" js="0">You can link an album from the Gallery to this event which will show the images on the event page and cause information about the event to be displayed on the album page.</word>
|
||||
<word key_rus="Событие начинается" key="submit_event_start" js="0">Event Start</word>
|
||||
<word key_rus="Событие заканчивается" key="submit_event_end" js="0">Event End</word>
|
||||
<word key_rus="Суммируем" key="submit_event_summary" js="0">Summary</word>
|
||||
<word key_rus="Это событие повторяется" key="submit_event_repeats_check" js="0">This event repeats</word>
|
||||
<word key_rus="Повторы" key="submit_event_repeats" js="0">Repeats</word>
|
||||
<word key_rus="удалить" key="submit_event_remove_repeat" js="0">remove</word>
|
||||
<word key_rus="Добавить событие" key="add_cal_event_header" js="0">Add Calendar Event</word>
|
||||
<word key_rus="Перейти" key="calendar_jump" js="0">Go</word>
|
||||
<word key_rus="Сегодня" key="calendar_jump_today" js="0">Go to today</word>
|
||||
<word key_rus="Перейти к..." key="jump_to_placeholder" js="0">Jump to...</word>
|
||||
<word key_rus="Перейти к" key="jump_to" js="0">Jump to</word>
|
||||
<word key_rus="Сегодняшние события" key="events_happening_today" js="0">Events happening today</word>
|
||||
<word key_rus="ВЕСЬ<br>ДЕНЬ" key="day_view_all_day" js="0"><![CDATA[ALL<br>DAY]]></word>
|
||||
<word key_rus="Вы пойдёте" key="you_are_going" js="0">You are going</word>
|
||||
<word key_rus="Вы посетите это событие" key="you_are_going_to_this" js="0">You are going to this event</word>
|
||||
<word key_rus="Вы не собираетесь посещать это событие" key="you_are_not_going_to_this" js="0">You are not going to this event</word>
|
||||
<word key_rus="Подтвердить участие" key="confirm_attendance" js="0">Confirm attendance</word>
|
||||
<word key_rus="Популярные события" key="featured_events" js="0">Featured Events</word>
|
||||
<word key_rus="Пожалуйста, выберите дату завершения после даты начала события" key="end_date_before_start" js="0">Please select an end date after the event start date</word>
|
||||
<word key_rus="Указанная дата начала неверна" key="invalid_start_date" js="0">The provided start date is not valid</word>
|
||||
<word key_rus="Указанная дата завершения события неверна" key="invalid_end_date" js="0">The provided end date is not valid</word>
|
||||
<word key_rus="Сохранить" key="event__save" js="0">Save</word>
|
||||
<word key_rus="Удалить событие" key="calendar_delete_title" js="0">Delete this event</word>
|
||||
<word key_rus="%s %s" key="blurb_date_with_time" js="0">%s %s</word>
|
||||
<word key_rus="%s - %s в %s" key="blurb_start_and_end" js="0">%s - %s in %s</word>
|
||||
<word key_rus="%s в %s" key="blurb_start_only" js="0">%s in %s</word>
|
||||
<word key_rus="Скачать событие" key="download_ical" js="0">Download Event</word>
|
||||
<word key_rus="Скачать это событие в качестве файла iCal" key="download_ical_title" js="0">Download this event as an iCal file</word>
|
||||
<word key_rus="О событии" key="event_details" js="0">Event details</word>
|
||||
<word key_rus="Событие создал %s" key="event_created_by" js="0">Event created by %s</word>
|
||||
<word key_rus="Ваш рейтинг" key="event_rating_value" js="0">Your Rating</word>
|
||||
<word key_rus="Ваш отзыв" key="event_review_text" js="0">Your Review</word>
|
||||
<word key_rus="Добавить отзыв..." key="event__review_placeholder" js="0">Add a review...</word>
|
||||
<word key_rus="Добавить комментарий..." key="event__comment_placeholder" js="0">Add a comment...</word>
|
||||
<word key_rus="Добавить комментарий" key="event_submit_comment" js="0">Submit Comment</word>
|
||||
<word key_rus="Участники" key="event_rsvp_attendees" js="0">Attendees</word>
|
||||
<word key_rus="Пожаловаться" key="report_event" js="0">Report Event</word>
|
||||
<word key_rus="Изменить" key="calendar_edit_details" js="0">Edit Details</word>
|
||||
<word key_rus="Изменить детали этого события" key="calendar_edit_details_title" js="0">Edit this event's details</word>
|
||||
<word key_rus="Управление" key="manage_event" js="0">Manage Event</word>
|
||||
<word key_rus="Это событие ещё не одобрено и видно только для модераторов." key="event_pending_approval" js="0">This event is not yet approved and is only visible to staff.</word>
|
||||
<word key_rus="Покинуть событие" key="rsvp_leave_event" js="0">Leave event</word>
|
||||
<word key_rus="Пойду" key="rsvp_attend_event" js="0">Going</word>
|
||||
<word key_rus="Может быть" key="rsvp_maybe_event" js="0">Maybe</word>
|
||||
<word key_rus="Не пойду" key="rsvp_notgoing_event" js="0">Not going</word>
|
||||
<word key_rus="Пойду" key="rsvp_attendees" js="0">Going</word>
|
||||
<word key_rus="Может быть" key="rsvp_maybe_attendees" js="0">Maybe</word>
|
||||
<word key_rus="Отказаться" key="rsvp_notgoing_attendees" js="0">Declined</word>
|
||||
<word key_rus="Адрес события" key="event_address" js="0">Event Address</word>
|
||||
<word key_rus="Никто пока ещё не собирается." key="no_rsvps_yet" js="0">No one is attending yet.</word>
|
||||
<word key_rus="Никто еще не отказался." key="no_decline_rsvps_yet" js="0">No one has declined yet.</word>
|
||||
<word key_rus="Пока ещё никто не сообщил, что может пойти" key="no_maybe_rsvps_yet" js="0">No one has said they might go yet.</word>
|
||||
<word key_rus="Лимит RSVP достигнут" key="rsvp_limit_reached" js="0">RSVP limit reached</word>
|
||||
<word key_rus="Вы не можете отправлять приглашения (RSVP) на это событие" key="rsvp_error" js="0">You do not have permission to RSVP for this event</word>
|
||||
<word key_rus="Ваше имя было удалено из списка приглашенных на это событие" key="rsvp_not_going" js="0">Your name has been removed from the guest list for this event</word>
|
||||
<word key_rus="Ваше имя было добавлено в список приглашённых гостей" key="rsvp_selection_yes" js="0">Your name has been added to the guest list</word>
|
||||
<word key_rus="Жаль, что Вы не сможете сделать это" key="rsvp_selection_no" js="0">It's too bad you won't be able to make it to the event!</word>
|
||||
<word key_rus="Ваше имя было добавлено в" key="rsvp_selection_maybe" js="0">Your name has been added to the maybe list</word>
|
||||
<word key_rus="Скачать список гостей" key="rsvp_download" js="0">Download guest list</word>
|
||||
<word key_rus="Другие ответы" key="event_rsvp_attendees_other" js="0">Other Responses</word>
|
||||
<word key_rus="Это событие повторяется каждый год %s" key="recur_human_yearly" js="0">This event repeats every year %s</word>
|
||||
<word key_rus="Это событие повторяется {!# [*1:каждый # год][*2:каждые # года][*3:каждые # года][*4:каждые # года][11:каждые # лет][12:каждые # лет][13:каждые # лет][14:каждые # лет][?:# лет]} %s" key="recur_human_yearly_multi" js="0">This event repeats every {# [?:years]} %s</word>
|
||||
<word key_rus="Это событие повторяется каждый месяц %s" key="recur_human_monthly" js="0">This event repeats every month %s</word>
|
||||
<word key_rus="Это событие повторяется {!# [*1:каждый # месяц][*2:каждые # месяца][*3:каждые # месяца][*4:каждые # месяца][11:каждые # месяцев][12:каждые # месяцев][13:каждые # месяцев][14:каждые # месяцев][?:# месяцев]} %s" key="recur_human_monthly_multi" js="0">This event repeats every {# [?:months]} %s</word>
|
||||
<word key_rus="Это событие повторяется каждую неделю %s" key="recur_human_weekly" js="0">This event repeats every week %s</word>
|
||||
<word key_rus="Это событие повторяется {!# [*1:каждую # неделю][*2:каждые # недели][*3:каждые # недели][*4:каждые # недели][11:каждые # недель][12:каждые # недель][13:каждые # недель][14:каждые # недель][?:# недель]} %s" key="recur_human_weekly_multi" js="0">This event repeats every {# [?:weeks]} %s</word>
|
||||
<word key_rus="Это событие повторяется каждую неделю в %s %s" key="recur_human_weekly_days" js="0">This event repeats every week on %s %s</word>
|
||||
<word key_rus="Это событие повторяется {!# [*1:каждую # неделю][*2:каждые # недели][*3:каждые # недели][*4:каждые # недели][11:каждые # недель][12:каждые # недель][13:каждые # недель][14:каждые # недель][?:# недель]} в %s %s" key="recur_human_weekly_multi_days" js="0">This event repeats every {# [?:weeks]} on %s %s</word>
|
||||
<word key_rus="Это событие повторяется каждый день %s" key="recur_human_daily" js="0">This event repeats every day %s</word>
|
||||
<word key_rus="Это событие повторяется {!# [*1:каждый # день][*2:каждые # дня][*3:каждые # дня][*4:каждые # дня][11:каждые # дней][12:каждые # дней][13:каждые # дней][14:каждые # дней][?:# дней]} %s" key="recur_human_daily_multi" js="0">This event repeats every {# [?:days]} %s</word>
|
||||
<word key_rus="навсегда" key="recur_human__forever" js="0">forever</word>
|
||||
<word key_rus="на {# [*1:случай][*2:случая][*3:случая][*4:случая][11:случаев][12:случаев][13:случаев][14:случаев][?:случаев]}" key="recur_human__occurrences" js="0">for {# [1:occurrence][?:occurrences]}</word>
|
||||
<word key_rus="до %s" key="recur_human__until" js="0">until %s</word>
|
||||
<word key_rus="Эта RSS лента сейчас недоступна" key="event_rss_feed_off" js="0">This RSS feed is currently unavailable</word>
|
||||
<word key_rus="RSS лента календаря отключена в админцентре" key="event_rss_feed_off_admin" js="0">The calendar RSS feed is currently disabled in the admin control panel</word>
|
||||
<word key_rus="Участники на %s" key="event_attendees" js="0">Attendees for %s</word>
|
||||
<word key_rus="{# [*1:пользователь приглашен][*2:пользователя приглашены][*3:пользователя приглашены][*4:пользователя приглашены][11:пользователей приглашены][12:пользователей приглашены][13:пользователей приглашены][14:пользователей приглашены][?:пользователей приглашены]} на это мероприятие. Общее количество %s." key="rsvp_limit_info" js="0">{# [1:user has][?:users have]} RSVPed for this event. A total of %s can RSVP.</word>
|
||||
<word key_rus="Когда на событие закончился лимит гостей, вы можете только указать, пойдёте или нет" key="rsvp_limit_nomaybe" js="0">You may only indicate you are going or not going when an event has a limit specified</word>
|
||||
<word key_rus="У вас нет прав на написание отзыва событию" key="no_event_review" js="0">You do not have permission to review events</word>
|
||||
<word key_rus="Лента iCalendar %s неправильно отформатирована в распознаваемый формат" key="task_BAD_CONTENT" js="0">The iCalendar feed %s is not correctly formatted in a recognized iCalendar format</word>
|
||||
<word key_rus="Лента iCalendar %s не предоставила ни одного события для продолжения" key="task_NO_CONTENT" js="0">The iCalendar feed %s did not return any events to process</word>
|
||||
<word key_rus="Подписаться на ленту iCalendar" key="subscribe_webcal" js="0">Subscribe to iCalendar feed</word>
|
||||
<word key_rus="Скачать экспорт iCalendar" key="download_webcal" js="0">Download iCalendar export</word>
|
||||
<word key_rus="Календарь" key="calendar_id" js="0">Calendar</word>
|
||||
<word key_rus="Это событие закрыто, но вам разрешено добавлять новые комментарии." key="event_locked_can_comment" js="0">This event is locked, but your permissions allow you to add new comments.</word>
|
||||
<word key_rus="Это событие закрыто для комментариев." key="event_locked_cannot_comment" js="0">This event is now closed to further comments.</word>
|
||||
<word key_rus="Изображения с этого события" key="event_images" js="0">Images from this event</word>
|
||||
<word key_rus="Переместить событие" key="event_move_title" js="0">Move this event</word>
|
||||
<word key_rus="Популярное событие" key="feature_title_event" js="0">Feature this event</word>
|
||||
<word key_rus="Непопулярное событие" key="unfeature_title_event" js="0">Unfeature this event</word>
|
||||
<word key_rus="Закрепить событие" key="pin_title_event" js="0">Pin this event</word>
|
||||
<word key_rus="Открепить событие" key="unpin_title_event" js="0">Unpin this event</word>
|
||||
<word key_rus="Скрыть событие" key="hide_title_event" js="0">Hide this event</word>
|
||||
<word key_rus="Показать событие" key="unhide_title_event" js="0">Unhide this event</word>
|
||||
<word key_rus="Заблокировать событие" key="lock_title_event" js="0">Lock this event</word>
|
||||
<word key_rus="Разблокировать событие" key="unlock_title_event" js="0">Unlock this event</word>
|
||||
<word key_rus="Одобрить событие" key="approve_title_event" js="0">Approve this event</word>
|
||||
<word key_rus="Предстоящие события" key="block_upcomingEvents" js="0">Upcoming Events</word>
|
||||
<word key_rus="Показывает предстоящие события" key="block_upcomingEvents_desc" js="0">Shows upcoming calendar events</word>
|
||||
<word key_rus="Автоматически скрывать блок" key="auto_hide" js="0">Automatically hide block</word>
|
||||
<word key_rus="Скрыть этот блок, когда нет результатов для отображения" key="auto_hide_desc" js="0">Hide this block when there are no results to display</word>
|
||||
<word key_rus="Количество дней для отображения" key="days_ahead" js="0">Number of days to show</word>
|
||||
<word key_rus="Количество событий" key="maximum_count" js="0">Number of events</word>
|
||||
<word key_rus="Просмотр события %s" key="view_this_event" js="0">View the event %s</word>
|
||||
<word key_rus="Сегодняшние дни рождения" key="block_todaysBirthdays" js="0">Today's Birthdays</word>
|
||||
<word key_rus="Отображает сегодняшние дни рождения" key="block_todaysBirthdays_desc" js="0">Shows birthdays from today</word>
|
||||
<word key_rus="Празднующих сегодня пользователей нет" key="no_members_birthday_today" js="0">No users celebrating today</word>
|
||||
<word key_rus="Предстоящих событий не найдено" key="no_upcoming_events" js="0">No upcoming events found</word>
|
||||
<word key_rus="({# [*1:год][*2:года][*3:года][*4:года][11:лет][12:лет][13:лет][14:лет][?:лет]})" key="member_age" js="0">({# [1:year][?:years]} old)</word>
|
||||
<word key_rus="Последние отзывы" key="block_recentReviews" js="0">Recent Event Reviews</word>
|
||||
<word key_rus="Отображает последние отзывы" key="block_recentReviews_desc" js="0">Display the most recent reviews</word>
|
||||
<word key_rus="Отзывов не найдено" key="no_recent_reviews" js="0">No recent reviews found</word>
|
||||
<word key_rus="Календари" key="announce_calendars" js="0">Calendars</word>
|
||||
<word key_rus="Количество отзывов для отображения" key="review_count" js="0">Number of reviews to show</word>
|
||||
<word key_rus="Календарь" key="widget_calendar" js="0">Calendar</word>
|
||||
<word key_rus="Событие календаря" key="embed_calendar_event" js="0">Calendar Event</word>
|
||||
<word key_rus="{# [*1:пользователь][*2:пользователя][*3:пользователя][*4:пользователя][11:пользователей][12:пользователей][13:пользователей][14:пользователей][?:пользователей]} собирается" key="x_users_going" js="0">{# [1:user][?:users]} going</word>
|
||||
<word key_rus="GMT %s" key="timezone_offset_short" js="0">GMT %s</word>
|
||||
<word key_rus="[GMT - 12] Остров Бейкер, Аляска, США" key="timezone_offset_-12" js="0">[GMT - 12] Baker Island Time</word>
|
||||
<word key_rus="[GMT - 11] Часовой пояс САМОА (SST)" key="timezone_offset_-11" js="0">[GMT - 11] Samoa Standard Time</word>
|
||||
<word key_rus="[GMT - 10] Поясное время Гавай (HAST)" key="timezone_offset_-10" js="0">[GMT - 10] Hawaii Standard Time</word>
|
||||
<word key_rus="[GMT - 9:30] Папеэте, Французская Полинезия" key="timezone_offset_-9.5" js="0">[GMT - 9:30] Marquesas Islands Time</word>
|
||||
<word key_rus="[GMT - 9] Поясное время Аляски (AKST)" key="timezone_offset_-9" js="0">[GMT - 9] Alaska Standard Time</word>
|
||||
<word key_rus="[GMT - 8] Тихоокеанское поясное время (PST)" key="timezone_offset_-8" js="0">[GMT - 8] Pacific Standard Time</word>
|
||||
<word key_rus="[GMT - 7] Часовой пояс западной части США (MST)" key="timezone_offset_-7" js="0">[GMT - 7] Mountain Standard Time</word>
|
||||
<word key_rus="[GMT - 6] Центральное поясное время (CST)" key="timezone_offset_-6" js="0">[GMT - 6] Central Standard Time</word>
|
||||
<word key_rus="[GMT - 5] Североамериканское восточное время (EST)" key="timezone_offset_-5" js="0">[GMT - 5] Eastern Standard Time</word>
|
||||
<word key_rus="[GMT - 4:30] Поясное время Венесуэлы (VST)" key="timezone_offset_-4.5" js="0">[GMT - 4:30] Venezuelan Standard Time</word>
|
||||
<word key_rus="[GMT - 4] Атлантическое поясное время (AST)" key="timezone_offset_-4" js="0">[GMT - 4] Atlantic Standard Time</word>
|
||||
<word key_rus="[GMT - 3:30] Поясное время Ньюфаундленд(NST)" key="timezone_offset_-3.5" js="0">[GMT - 3:30] Newfoundland Standard Time</word>
|
||||
<word key_rus="[GMT - 3] время Бразилиа (BRT)" key="timezone_offset_-3" js="0">[GMT - 3] Brasília time</word>
|
||||
<word key_rus="[GMT - 2] время Fernando de Noronha - Пернамбуку, Бразилия (BRT)" key="timezone_offset_-2" js="0">[GMT - 2] Fernando de Noronha Time</word>
|
||||
<word key_rus="[GMT - 1] Стандартное время восточной Гренландии (EGT)" key="timezone_offset_-1" js="0">[GMT - 1] Eastern Greenland Time</word>
|
||||
<word key_rus="[GMT] Среднее время по Гринвичу (GMT)" key="timezone_offset_0" js="0">[GMT] Greenwich Mean Time</word>
|
||||
<word key_rus="[GMT + 1] Центральноевропейское время (CET)" key="timezone_offset_1" js="0">[GMT + 1] Central European Time</word>
|
||||
<word key_rus="[GMT + 2] Восточноевропейское время (EET)" key="timezone_offset_2" js="0">[GMT + 2] Eastern European Time</word>
|
||||
<word key_rus="[GMT + 3] Время восточной Африки (EAT)" key="timezone_offset_3" js="0">[GMT + 3] Eastern African Time</word>
|
||||
<word key_rus="[GMT + 3:30] Поясное время Ирана (IRST)" key="timezone_offset_3.5" js="0">[GMT + 3:30] Iran Standard Time</word>
|
||||
<word key_rus="[GMT + 4] Стандартное время Персидского залива (GST)" key="timezone_offset_4" js="0">[GMT + 4] Gulf Standard Time</word>
|
||||
<word key_rus="[GMT + 4:30] Время Афганистана (AFT)" key="timezone_offset_4.5" js="0">[GMT + 4:30] Afghanistan Time</word>
|
||||
<word key_rus="[GMT + 5] Поясное время Пакистана (PST)" key="timezone_offset_5" js="0">[GMT + 5] Pakistan Standard Time</word>
|
||||
<word key_rus="[GMT + 5:30] Индийское поясное время (IST)" key="timezone_offset_5.5" js="0">[GMT + 5:30] Indian Standard Time</word>
|
||||
<word key_rus="[GMT + 5:45] Поясное время Непала (NPT)" key="timezone_offset_5.75" js="0">[GMT + 5:45] Nepal Time</word>
|
||||
<word key_rus="[GMT + 6] Время Бангладеш ((BDT))" key="timezone_offset_6" js="0">[GMT + 6] Bangladesh Time</word>
|
||||
<word key_rus="[GMT + 6:30] Время Мьянма (MMT)" key="timezone_offset_6.5" js="0">[GMT + 6:30] Myanmar Time</word>
|
||||
<word key_rus="[GMT + 7] Время Индокитая (ICT)" key="timezone_offset_7" js="0">[GMT + 7] Indochina Time</word>
|
||||
<word key_rus="[GMT + 8] Поясное время Китая (CST)" key="timezone_offset_8" js="0">[GMT + 8] Chinese Standard Time</word>
|
||||
<word key_rus="[GMT + 9] Часовой пояс Японии (JST)" key="timezone_offset_9" js="0">[GMT + 9] Japan Standard Time</word>
|
||||
<word key_rus="[GMT + 9:30] Стандартное время центральной Австралии (ACST)" key="timezone_offset_9.5" js="0">[GMT + 9:30] Australian Central Standard Time</word>
|
||||
<word key_rus="[GMT + 10] Стандартное время восточной Австралии (AEST)" key="timezone_offset_10" js="0">[GMT + 10] Australian Eastern Standard Time</word>
|
||||
<word key_rus="[GMT + 10:30] Стандартное время Лорд-Хау (LHST)" key="timezone_offset_10.5" js="0">[GMT + 10:30] Lord Howe Standard Time</word>
|
||||
<word key_rus="[GMT + 11] Часовой пояс в Соломоновы о-ва (SIT)" key="timezone_offset_11" js="0">[GMT + 11] Solomon Island Time</word>
|
||||
<word key_rus="[GMT + 11:30] время Остров Норфолк (NFT)" key="timezone_offset_11.5" js="0">[GMT + 11:30] Norfolk Island Time</word>
|
||||
<word key_rus="[GMT + 12] время Новой Зеландии (NZST)" key="timezone_offset_12" js="0">[GMT + 12] New Zealand Time</word>
|
||||
<word key_rus="[GMT + 12:45] Время Чатем Айлендс, Новая Зеландия (CHAST)" key="timezone_offset_12.75" js="0">[GMT + 12:45] Chatham Islands Time</word>
|
||||
<word key_rus="[GMT + 13] Время островов Феникс (PIT)" key="timezone_offset_13" js="0">[GMT + 13] Phoenix Islands Time</word>
|
||||
<word key_rus="[GMT + 14] Время острово Лайн (LIT)" key="timezone_offset_14" js="0">[GMT + 14] Line Island Time</word>
|
||||
<word key_rus="Проверка лент iCalendar на новые события и импорты в Календарь." key="task__icalendar" js="0">Checks iCalendar feeds for new events and imports into Calendar.</word>
|
||||
<word key_rus="События" key="digest_area_calendar_calendar" js="0">Events</word>
|
||||
<word key_rus="Событие" key="digest_area_calendar_event" js="0">Event</word>
|
||||
<word key_rus="%s опубликовал событие в %s" key="x_created_event_in" js="0">%s posted an event in %s</word>
|
||||
<word key_rus="%s прокомментировал событие" key="x_commented_event" js="0">%s commented on an event</word>
|
||||
<word key_rus="Событие на" key="digest_event_on" js="0">Event on</word>
|
||||
<word key_rus="{# [*1:пользователь][*2:пользователя][*3:пользователя][*4:пользователя][11:пользователей][12:пользователей][13:пользователей][14:пользователей][?:пользователей]} собираются посетить" key="digest_users_going" js="0">{# [1:user][?:users]} going</word>
|
||||
<word key_rus="{$content->mapped('title')|raw}" key="mailsub__calendar_notification_new_content" js="0"><![CDATA[{$content->mapped("title")|raw}]]></word>
|
||||
<word key_rus="%s отправил %s, %s, для %s" key="email_new_calevent_plain" js="0">%s has posted %s, %s, for %s</word>
|
||||
<word key_rus="<a href='%s'>%s</a> отправил %s, <a href='%s'>%s</a>, для %s" key="email_new_calevent" js="0"><![CDATA[<a href='%s'>%s</a> has posted %s, <a href='%s'>%s</a>, for %s]]></word>
|
||||
<word key_rus="%s (Гость) отправил %s, <a href='%s'>%s</a>, для %s" key="email_new_calevent_guest" js="0"><![CDATA[%s (Guest) has posted %s, <a href='%s'>%s</a>, for %s]]></word>
|
||||
<word key_rus="События" key="__api_calendar_events" js="0">Events</word>
|
||||
<word key_rus="Комментарии" key="__api_calendar_comments" js="0">Comments</word>
|
||||
<word key_rus="Отзывы" key="__api_calendar_reviews" js="0">Reviews</word>
|
||||
<word key_rus="{# [*1:день][*2:дня][*3:дня][*4:дня][11:дней][12:дней][13:дней][14:дней][?:дней]}" key="x_daily" js="1">{# [1:day][?:days]}</word>
|
||||
<word key_rus="{# [*1:неделя][*2:недели][*3:недели][*4:недели][11:недель][12:недель][13:недель][14:недель][?:недель]}" key="x_weekly" js="1">{# [1:week][?:weeks]}</word>
|
||||
<word key_rus="{# [*1:месяц][*2:месяца][*3:месяца][*4:месяца][11:месяцев][12:месяцев][13:месяцев][14:месяцев][?:месяцев]}" key="x_monthly" js="1">{# [1:month][?:months]}</word>
|
||||
<word key_rus="{# [*1:год][*2:года][*3:года][*4:года][11:лет][12:лет][13:лет][14:лет][?:лет]}" key="x_yearly" js="1">{# [1:year][?:years]}</word>
|
||||
<word key_rus="Каждые {{period}}" key="every_x" js="1">Every {{period}}</word>
|
||||
<word key_rus="{# [*1:раз][*2:раза][*3:раза][*4:раза][11:раз][12:раз][13:раз][14:раз][?:раз]}" key="x_times" js="1">{# [1:time][?:times]}</word>
|
||||
<word key_rus="до {{date}}" key="until" js="1">until {{date}}</word>
|
||||
<word key_rus="Каждые {{interval}}, {{endAfter}}" key="with_end" js="1">{{interval}}, {{endAfter}}</word>
|
||||
<word key_rus="Понедельник" key="MO" js="1">Monday</word>
|
||||
<word key_rus="Вторник" key="TU" js="1">Tuesday</word>
|
||||
<word key_rus="Среда" key="WE" js="1">Wednesday</word>
|
||||
<word key_rus="Четверг" key="TH" js="1">Thursday</word>
|
||||
<word key_rus="Пятница" key="FR" js="1">Friday</word>
|
||||
<word key_rus="Суббота" key="SA" js="1">Saturday</word>
|
||||
<word key_rus="Воскресенье" key="SU" js="1">Sunday</word>
|
||||
<word key_rus="на {{first}}" key="one_day" js="1">on {{first}}</word>
|
||||
<word key_rus="на {{days}} и {{last}}" key="multiple_day" js="1">on {{days}} and {{last}}</word>
|
||||
<word key_rus="{{week}} {{days}}" key="week_string" js="1">{{week}} {{days}}</word>
|
||||
<word key_rus="Не повторять" key="doesnt_repeat" js="1">Doesn't repeat</word>
|
||||
<word key_rus="<strong>{{startDate}}</strong>, c <strong>{{startTime}}</strong> до <strong>{{endTime}}</strong>" key="single_not_allday" js="1"><![CDATA[On <strong>{{startDate}}</strong>, from <strong>{{startTime}}</strong> to <strong>{{endTime}}</strong>]]></word>
|
||||
<word key_rus="<strong>{{startDate}}</strong> (весь день)" key="single_allday" js="1"><![CDATA[<strong>{{startDate}}</strong> (all day)]]></word>
|
||||
<word key_rus="С <strong>{{startDate}}</strong> в <strong>{{startTime}}</strong> до <strong>{{endDate}}</strong> в <strong>{{endTime}}</strong>" key="not_single_not_allday" js="1"><![CDATA[From <strong>{{startDate}}</strong> at <strong>{{startTime}}</strong> until <strong>{{endDate}}</strong> at <strong>{{endTime}}</strong>]]></word>
|
||||
<word key_rus="С <strong>{{startDate}}</strong> до <strong>{{endDate}}</strong>" key="not_single_allday" js="1"><![CDATA[From <strong>{{startDate}}</strong> to <strong>{{endDate}}</strong>]]></word>
|
||||
<word key_rus="(укажите время)" key="select_time" js="1">(select time)</word>
|
||||
</app>
|
||||
</language>
|
||||
@@ -193,10 +193,10 @@
|
||||
"comment": "",
|
||||
"decimals": null,
|
||||
"default": "0",
|
||||
"length": 8,
|
||||
"length": 20,
|
||||
"name": "comment_mid",
|
||||
"type": "MEDIUMINT",
|
||||
"unsigned": false,
|
||||
"type": "BIGINT",
|
||||
"unsigned": true,
|
||||
"values": [],
|
||||
"zerofill": false
|
||||
},
|
||||
@@ -404,10 +404,10 @@
|
||||
"comment": "",
|
||||
"decimals": null,
|
||||
"default": "0",
|
||||
"length": 11,
|
||||
"length": 20,
|
||||
"name": "rsvp_member_id",
|
||||
"type": "INT",
|
||||
"unsigned": false,
|
||||
"type": "BIGINT",
|
||||
"unsigned": true,
|
||||
"values": [],
|
||||
"zerofill": false
|
||||
},
|
||||
@@ -511,9 +511,9 @@
|
||||
"comment": "",
|
||||
"decimals": null,
|
||||
"default": "0",
|
||||
"length": 8,
|
||||
"length": 20,
|
||||
"name": "event_member_id",
|
||||
"type": "MEDIUMINT",
|
||||
"type": "BIGINT",
|
||||
"unsigned": true,
|
||||
"values": [],
|
||||
"zerofill": false
|
||||
@@ -1047,8 +1047,7 @@
|
||||
]
|
||||
}
|
||||
},
|
||||
"collation": "utf8mb4_unicode_ci",
|
||||
"engine": "InnoDB"
|
||||
"collation": "utf8mb4_unicode_ci"
|
||||
},
|
||||
"calendar_import_feeds": {
|
||||
"name": "calendar_import_feeds",
|
||||
@@ -1144,10 +1143,10 @@
|
||||
"comment": "",
|
||||
"decimals": null,
|
||||
"default": "0",
|
||||
"length": 11,
|
||||
"length": 20,
|
||||
"name": "feed_member_id",
|
||||
"type": "INT",
|
||||
"unsigned": false,
|
||||
"type": "BIGINT",
|
||||
"unsigned": true,
|
||||
"values": [],
|
||||
"zerofill": false
|
||||
},
|
||||
@@ -1357,7 +1356,7 @@
|
||||
"default": "0",
|
||||
"length": 8,
|
||||
"name": "review_mid",
|
||||
"type": "MEDIUMINT",
|
||||
"type": "BIGINT",
|
||||
"unsigned": true,
|
||||
"values": [],
|
||||
"zerofill": false
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
},
|
||||
{
|
||||
"key": "ipb_calendar_mon",
|
||||
"default": "0"
|
||||
"default": "1"
|
||||
},
|
||||
{
|
||||
"key": "show_bday_calendar",
|
||||
|
||||
@@ -1,11 +1,59 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<theme name="Default" author_name="Invision Power Services, Inc" author_url="http://www.invisionpower.com">
|
||||
<template template_group="browse" template_name="calendarDay" template_data="$calendars, $date, $featured, $birthdays, $events, $tomorrow, $yesterday, $today, $thisCalendar, $jump" template_location="front" template_app="calendar"><![CDATA[
|
||||
<template template_group="browse" template_name="birthday" template_data="$table, $headers, $rows" template_location="front" template_app="calendar"><![CDATA[{{foreach $rows as $row}}
|
||||
<li class='ipsGrid_span6 ipsPhotoPanel ipsPhotoPanel_mini ipsClearfix'>
|
||||
{template="userPhoto" app="core" group="global" params="\IPS\Member::load( $row['member_id'] ), 'mini'"}
|
||||
<div>
|
||||
<h3 class='ipsType_normal ipsType_reset ipsTruncate ipsTruncate_line'>{member="name" id="$row['member_id']"}</h3>
|
||||
<span class='ipsType_light'>
|
||||
{{if $row['bday_year']}}
|
||||
{lang="member_age" pluralize="\IPS\Member::load( $row['member_id'] )->age( \IPS\calendar\Date::getDate( \IPS\Request::i()->y ?: NULL, \IPS\Request::i()->m ?: NULL, \IPS\Request::i()->d ?: NULL ) )"}{{endif}}
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
{{endforeach}}]]></template>
|
||||
<template template_group="browse" template_name="birthdaysTable" template_data="$table, $headers, $rows, $quickSearch" template_location="front" template_app="calendar"><![CDATA[<div data-baseurl='{$table->baseUrl}' data-resort='{$table->resortKey}' data-controller='core.global.core.table' {{if $table->getPaginationKey() != 'page'}}data-pageParam='{$table->getPaginationKey()}'{{endif}}>
|
||||
|
||||
{{if $table->pages > 1}}
|
||||
<div class="ipsButtonBar ipsPad_half ipsClearfix ipsClear">
|
||||
<div data-role="tablePagination">
|
||||
{template="pagination" group="global" app="core" location="global" params="$table->baseUrl, $table->pages, $table->page, $table->limit, TRUE, $table->getPaginationKey()"}
|
||||
</div>
|
||||
</div>
|
||||
{{endif}}
|
||||
|
||||
|
||||
{{if count( $rows )}}
|
||||
<ol class='ipsGrid ipsGrid_collapsePhone ipsPad ipsClear {{foreach $table->classes as $class}}{$class} {{endforeach}}' id='elTable_{$table->uniqueId}' data-role="tableRows" itemscope itemtype="http://schema.org/ItemList">
|
||||
{template="$table->rowsTemplate[1]" params="$table, $headers, $rows" object="$table->rowsTemplate[0]"}
|
||||
</ol>
|
||||
{{else}}
|
||||
<div class='ipsType_center ipsPad'>
|
||||
<p class='ipsType_large ipsType_light'>{lang="no_rows_in_table"}</p>
|
||||
{{if method_exists( $table, 'container' ) AND $table->container() !== NULL}}
|
||||
{{if $table->container()->can('add')}}
|
||||
<a href='{$table->container()->url()->setQueryString( 'do', 'add' )}' class='ipsButton ipsButton_primary ipsButton_medium'>
|
||||
{lang="submit_first_row"}
|
||||
</a>
|
||||
{{endif}}
|
||||
{{endif}}
|
||||
</div>
|
||||
{{endif}}
|
||||
|
||||
{{if $table->pages > 1}}
|
||||
<div class="ipsButtonBar ipsPad_half ipsClearfix ipsClear">
|
||||
<div data-role="tablePagination">
|
||||
{template="pagination" group="global" app="core" location="global" params="$table->baseUrl, $table->pages, $table->page, $table->limit, TRUE, $table->getPaginationKey()"}
|
||||
</div>
|
||||
</div>
|
||||
{{endif}}
|
||||
</div>]]></template>
|
||||
<template template_group="browse" template_name="calendarDay" template_data="$calendars, $date, $featured, $birthdays, $birthdayCount, $events, $tomorrow, $yesterday, $today, $thisCalendar, $jump" template_location="front" template_app="calendar"><![CDATA[
|
||||
<div class='ipsGrid ipsGrid_collapsePhone ipsPager cCalendarNav ipsSpacer_bottom' data-ipsSticky data-ipsSticky-disableIn='phone'>
|
||||
<div class='ipsGrid_span3 ipsType_left ipsPager_prev'>
|
||||
<a href="{{if $thisCalendar}}{url="app=calendar&module=calendar&controller=view&id={$thisCalendar->_id}&y={$yesterday->year}&m={$yesterday->mon}&d={$yesterday->mday}" seoTemplate="calendar_calday" seoTitle="$thisCalendar->title_seo"}{{else}}{url="app=calendar&module=calendar&controller=view&y={$yesterday->year}&m={$yesterday->mon}&d={$yesterday->mday}" seoTemplate="calendar_day"}{{endif}}" title='{lang="cal_month_day" sprintf="$yesterday->monthName, $yesterday->mday, $yesterday->year"}' rel='prev' data-action='changeView'>
|
||||
<span class='ipsPager_type ipsType_normal'>{lang="prev_day"}</span>
|
||||
<span class='ipsPager_title ipsType_light'>{lang="cal_month_day" sprintf="$yesterday->monthName, $yesterday->mday, $yesterday->year"}</span>
|
||||
<a href="{{if $thisCalendar}}{url="app=calendar&module=calendar&controller=view&id={$thisCalendar->_id}&y={$yesterday->year}&m={$yesterday->mon}&d={$yesterday->mday}" seoTemplate="calendar_calday" seoTitle="$thisCalendar->title_seo"}{{else}}{url="app=calendar&module=calendar&controller=view&y={$yesterday->year}&m={$yesterday->mon}&d={$yesterday->mday}" seoTemplate="calendar_day"}{{endif}}" title='{lang="cal_month_day" sprintf="$yesterday->monthName, $yesterday->mday, $yesterday->year"}' rel='prev nofollow' data-action='changeView'>
|
||||
<span class='ipsPager_type ipsType_normal'>{lang="cal_month_day_noyear" sprintf="$yesterday->monthName, $yesterday->mday"}</span>
|
||||
<span class='ipsPager_title ipsType_light'>{$yesterday->year}</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class='ipsGrid_span6 ipsType_center ipsPad cCalendarNav' data-role='calendarNav'>
|
||||
@@ -18,9 +66,9 @@
|
||||
</ul>
|
||||
</div>
|
||||
<div class='ipsGrid_span3 ipsType_right ipsPager_next'>
|
||||
<a href="{{if $thisCalendar}}{url="app=calendar&module=calendar&controller=view&id={$thisCalendar->_id}&y={$tomorrow->year}&m={$tomorrow->mon}&d={$tomorrow->mday}" seoTemplate="calendar_calday" seoTitle="$thisCalendar->title_seo"}{{else}}{url="app=calendar&module=calendar&controller=view&y={$tomorrow->year}&m={$tomorrow->mon}&d={$tomorrow->mday}" seoTemplate="calendar_day"}{{endif}}" title='{lang="cal_month_day" sprintf="$tomorrow->monthName, $tomorrow->mday, $tomorrow->year"}' rel='next' data-action='changeView'>
|
||||
<span class='ipsPager_type ipsType_normal'>{lang="next_day"}</span>
|
||||
<span class='ipsPager_title ipsType_light'>{lang="cal_month_day" sprintf="$tomorrow->monthName, $tomorrow->mday, $tomorrow->year"}</span>
|
||||
<a href="{{if $thisCalendar}}{url="app=calendar&module=calendar&controller=view&id={$thisCalendar->_id}&y={$tomorrow->year}&m={$tomorrow->mon}&d={$tomorrow->mday}" seoTemplate="calendar_calday" seoTitle="$thisCalendar->title_seo"}{{else}}{url="app=calendar&module=calendar&controller=view&y={$tomorrow->year}&m={$tomorrow->mon}&d={$tomorrow->mday}" seoTemplate="calendar_day"}{{endif}}" title='{lang="cal_month_day" sprintf="$tomorrow->monthName, $tomorrow->mday, $tomorrow->year"}' rel='next nofollow' data-action='changeView'>
|
||||
<span class='ipsPager_type ipsType_normal'>{lang="cal_month_day_noyear" sprintf="$tomorrow->monthName, $tomorrow->mday"}</span>
|
||||
<span class='ipsPager_title ipsType_light'>{$tomorrow->year}</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
@@ -85,8 +133,8 @@
|
||||
{{if count( $birthdays ) }}
|
||||
</div>
|
||||
<div class='ipsColumn ipsColumn_medium'>
|
||||
{{foreach $birthdays AS $birthday}}
|
||||
<h2 class='ipsType_sectionTitle ipsType_reset'>{lang="birthdays_today" pluralize="count( $birthday )"}</h2>
|
||||
{{foreach $birthdays AS $bdayDate => $birthday}}
|
||||
<h2 class='ipsType_sectionTitle ipsType_reset'>{lang="birthdays_today" pluralize="$birthdayCount[ $bdayDate ]"}</h2>
|
||||
<ul class='ipsDataList ipsDataList_reducedSpacing'>
|
||||
{{foreach $birthday AS $member}}
|
||||
<li class='ipsDataItem ipsClearfix'>
|
||||
@@ -95,11 +143,16 @@
|
||||
<div>
|
||||
{$member->link()|raw}
|
||||
{{if $member->bday_year}}<br>
|
||||
{lang="member_age" sprintf="$member->age( $date )"}{{endif}}
|
||||
{lang="member_age" pluralize="$member->age( $date )"}{{endif}}
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
{{endforeach}}
|
||||
{{if count($birthday) < $birthdayCount[ $bdayDate ]}}
|
||||
<li class='ipsDataItem ipsClearfix ipsAreaBackground_light ipsPad ipsPad_half ipsType_center'>
|
||||
<a data-ipsDialog data-ipsDialog-title='{lang="birthdays_today" pluralize="$birthdayCount[ $bdayDate ]"}' data-ipsDialog-size="narrow" href='{{if $thisCalendar}}{url="app=calendar&module=calendar&controller=view&view=day&id={$thisCalendar->_id}&y={$date->year}&m={$date->mon}&d={$date->mday}&show=birthdays" seoTemplate="calendar_calday" seoTitle="$thisCalendar->title_seo"}{{else}}{url="app=calendar&module=calendar&controller=view&view=day&y={$date->year}&m={$date->mon}&d={$date->mday}&show=birthdays" seoTemplate="calendar_day"}{{endif}}'>{lang="birthdays_view_all"}</a>
|
||||
</li>
|
||||
{{endif}}
|
||||
</ul>
|
||||
{{endforeach}}
|
||||
</div>
|
||||
@@ -138,9 +191,9 @@
|
||||
{{if ( $thisCalendar AND $thisCalendar->can('add') ) OR ( !$thisCalendar AND \IPS\calendar\Calendar::canOnAny('add') )}}
|
||||
|
||||
{{if $thisCalendar}}
|
||||
<a href='{url="app=calendar&module=calendar&controller=submit&calendar={$thisCalendar->id}" seoTemplate="calendar_submit"}' class='ipsButton ipsButton_important ipsButton_small ipsResponsive_hidePhone ipsResponsive_inlineBlock'>{lang="create_event"}</a>
|
||||
<a href='{url="app=calendar&module=calendar&controller=submit&do=submit&id={$thisCalendar->id}" seoTemplate="calendar_submit"}' class='ipsButton ipsButton_important ipsButton_small ipsResponsive_hidePhone ipsResponsive_inlineBlock'>{lang="create_event"}</a>
|
||||
{{else}}
|
||||
<a href='{url="app=calendar&module=calendar&controller=submit" seoTemplate="calendar_submit"}' class='ipsButton ipsButton_important ipsButton_small ipsResponsive_hidePhone ipsResponsive_inlineBlock'>{lang="create_event"}</a>
|
||||
<a href='{url="app=calendar&module=calendar&controller=submit" seoTemplate="calendar_submit"}' data-ipsdialog data-ipsdialog-title='{lang="event_container"}' data-ipsdialog-size='narrow' class='ipsButton ipsButton_important ipsButton_small ipsResponsive_hidePhone ipsResponsive_inlineBlock'>{lang="create_event"}</a>
|
||||
{{endif}}
|
||||
{{endif}}
|
||||
<a href='#elCalendarJump' data-ipsMenu data-ipsMenu-menuID='elCalendarJump' data-ipsMenu-closeOnClick='false' class='ipsButton ipsButton_light ipsButton_small ipsResponsive_showDesktop ipsResponsive_inlineBlock'>{lang="jump_to"} <i class='fa fa-caret-down'></i></a>
|
||||
@@ -164,9 +217,9 @@
|
||||
<hr class='ipsHr'>]]></template>
|
||||
<template template_group="browse" template_name="calendarMonth" template_data="$calendars, $date, $featured, $birthdays, $events, $today, $thisCalendar, $jump, $startDates=array()" template_location="front" template_app="calendar"><![CDATA[<div class='ipsGrid ipsGrid_collapsePhone ipsPager cCalendarNav ipsSpacer_bottom' data-ipsSticky data-ipsSticky-disableIn='phone'>
|
||||
<div class='ipsGrid_span3 ipsType_left ipsPager_prev'>
|
||||
<a href="{{if $thisCalendar}}{url="app=calendar&module=calendar&controller=view&view=month&id={$thisCalendar->_id}&y={$date->lastMonth('year')}&m={$date->lastMonth('mon')}" seoTemplate="calendar_calmonth" seoTitle="$thisCalendar->title_seo"}{{else}}{url="app=calendar&module=calendar&controller=view&y={$date->lastMonth('year')}&m={$date->lastMonth('mon')}" seoTemplate="calendar_month"}{{endif}}" title='{lang="cal_month_title" sprintf="$date->lastMonth('monthName'), $date->lastMonth('year')"}' rel='prev' data-action='changeView'>
|
||||
<span class='ipsPager_type ipsType_normal'>{lang="previous_month"}</span>
|
||||
<span class='ipsPager_title ipsType_light'>{lang="cal_month_title" sprintf="$date->lastMonth('monthName'), $date->lastMonth('year')"}</span>
|
||||
<a href="{{if $thisCalendar}}{url="app=calendar&module=calendar&controller=view&view=month&id={$thisCalendar->_id}&y={$date->lastMonth('year')}&m={$date->lastMonth('mon')}" seoTemplate="calendar_calmonth" seoTitle="$thisCalendar->title_seo"}{{else}}{url="app=calendar&module=calendar&controller=view&y={$date->lastMonth('year')}&m={$date->lastMonth('mon')}" seoTemplate="calendar_month"}{{endif}}" title='{lang="cal_month_title" sprintf="$date->lastMonth('monthName'), $date->lastMonth('year')"}' rel='prev nofollow' data-action='changeView'>
|
||||
<span class='ipsPager_type ipsType_normal'>{$date->lastMonth('monthName')}</span>
|
||||
<span class='ipsPager_title ipsType_light'>{$date->lastMonth('year')}</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class='ipsGrid_span6 ipsType_center ipsPad' data-role='calendarNav'>
|
||||
@@ -179,9 +232,9 @@
|
||||
</ul>
|
||||
</div>
|
||||
<div class='ipsGrid_span3 ipsType_right ipsPager_next'>
|
||||
<a href="{{if $thisCalendar}}{url="app=calendar&module=calendar&controller=view&view=month&id={$thisCalendar->_id}&y={$date->nextMonth('year')}&m={$date->nextMonth('mon')}" seoTemplate="calendar_calmonth" seoTitle="$thisCalendar->title_seo"}{{else}}{url="app=calendar&module=calendar&controller=view&y={$date->nextMonth('year')}&m={$date->nextMonth('mon')}" seoTemplate="calendar_month"}{{endif}}" title='{lang="cal_month_title" sprintf="$date->nextMonth('monthName'), $date->nextMonth('year')"}' rel='next' data-action='changeView'>
|
||||
<span class='ipsPager_type ipsType_normal'>{lang="next_month"}</span>
|
||||
<span class='ipsPager_title ipsType_light'>{lang="cal_month_title" sprintf="$date->nextMonth('monthName'), $date->nextMonth('year')"}</span>
|
||||
<a href="{{if $thisCalendar}}{url="app=calendar&module=calendar&controller=view&view=month&id={$thisCalendar->_id}&y={$date->nextMonth('year')}&m={$date->nextMonth('mon')}" seoTemplate="calendar_calmonth" seoTitle="$thisCalendar->title_seo"}{{else}}{url="app=calendar&module=calendar&controller=view&y={$date->nextMonth('year')}&m={$date->nextMonth('mon')}" seoTemplate="calendar_month"}{{endif}}" title='{lang="cal_month_title" sprintf="$date->nextMonth('monthName'), $date->nextMonth('year')"}' rel='next nofollow' data-action='changeView'>
|
||||
<span class='ipsPager_type ipsType_normal'>{$date->nextMonth('monthName')}</span>
|
||||
<span class='ipsPager_title ipsType_light'>{$date->nextMonth('year')}</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
@@ -205,9 +258,9 @@
|
||||
{{endif}}
|
||||
<td class='cCalendar_date{{if $k == 1}} cCalendar_firstDay{{endif}}{{if $today->mysqlDatetime( FALSE ) == $date->year . '-' . $date->mon . '-' . $k }} cCalendar_today{{endif}}{{if isset( $events[ $date->year . '-' . $date->mon . '-' . $k ] )}} cCalendar_hasEvents{{endif}}'>
|
||||
<div>
|
||||
<a href='{{if $thisCalendar}}{url="app=calendar&module=calendar&controller=view&id={$thisCalendar->_id}&y={$date->year}&m={$date->mon}&d={$k}" seoTemplate="calendar_calday" seoTitle="$thisCalendar->title_seo"}{{else}}{url="app=calendar&module=calendar&controller=view&y={$date->year}&m={$date->mon}&d={$k}" seoTemplate="calendar_day"}{{endif}}' class='ipsType_blendLinks cCalendar_dayNumber'>{$k}</a>
|
||||
<a href='{{if $thisCalendar}}{url="app=calendar&module=calendar&controller=view&id={$thisCalendar->_id}&y={$date->year}&m={$date->mon}&d={$k}&view=day" seoTemplate="calendar_calday" seoTitle="$thisCalendar->title_seo"}{{else}}{url="app=calendar&module=calendar&controller=view&y={$date->year}&m={$date->mon}&d={$k}&view=day" seoTemplate="calendar_day"}{{endif}}' class='ipsType_blendLinks cCalendar_dayNumber'>{$k}</a>
|
||||
{{if ( $thisCalendar AND $thisCalendar->can('add') ) OR ( !$thisCalendar AND \IPS\calendar\Calendar::canOnAny('add') )}}
|
||||
<a href='{{if $thisCalendar}}{url="app=calendar&module=calendar&controller=submit&id={$thisCalendar->_id}&y={$date->year}&m={$date->mon}&d={$k}" seoTemplate="calendar_submit"}{{else}}{url="app=calendar&module=calendar&controller=submit&y={$date->year}&m={$date->mon}&d={$k}" seoTemplate="calendar_submit"}{{endif}}' data-ipsTooltip title='{lang="add_event"}' class='ipsButton ipsButton_verySmall ipsButton_primary cCalendar_miniAddEvent'><i class='ipsType_small fa fa-plus'></i></a>
|
||||
<a href='{{if $thisCalendar}}{url="app=calendar&module=calendar&controller=submit&do=submit&id={$thisCalendar->_id}&y={$date->year}&m={$date->mon}&d={$k}&view=day" seoTemplate="calendar_submit"}{{else}}{url="app=calendar&module=calendar&controller=submit&y={$date->year}&m={$date->mon}&d={$k}&view=day" seoTemplate="calendar_submit"}{{endif}}' data-ipsTooltip title='{lang="add_event"}' class='ipsButton ipsButton_verySmall ipsButton_primary cCalendar_miniAddEvent'><i class='ipsType_small fa fa-plus'></i></a>
|
||||
{{endif}}
|
||||
{{if isset( $events[ $date->year . '-' . $date->mon . '-' . $k ] )}}
|
||||
<ul class='cEvents_wrapper'>
|
||||
@@ -235,8 +288,8 @@
|
||||
{{endif}}
|
||||
</ul>
|
||||
{{endif}}
|
||||
{{if isset( $birthdays[ $date->mon . $k ] ) AND count( $birthdays[ $date->mon . $k ]) }}
|
||||
<p class='cCalendar_birthdays ipsType_light'><a class='ipsType_blendLinks' href='{{if $thisCalendar}}{url="app=calendar&module=calendar&controller=view&id={$thisCalendar->_id}&y={$date->year}&m={$date->mon}&d={$k}" seoTemplate="calendar_calday" seoTitle="$thisCalendar->title_seo"}{{else}}{url="app=calendar&module=calendar&controller=view&y={$date->year}&m={$date->mon}&d={$k}" seoTemplate="calendar_day"}{{endif}}'>{lang="birthdays_count" pluralize="count($birthdays[ $date->mon . $k ])"}</a></p>
|
||||
{{if isset( $birthdays[ $date->mon . $k ] ) AND $birthdays[ $date->mon . $k ] }}
|
||||
<p class='cCalendar_birthdays ipsType_light'><a class='ipsType_blendLinks' href='{{if $thisCalendar}}{url="app=calendar&module=calendar&controller=view&id={$thisCalendar->_id}&y={$date->year}&m={$date->mon}&d={$k}" seoTemplate="calendar_calday" seoTitle="$thisCalendar->title_seo"}{{else}}{url="app=calendar&module=calendar&controller=view&y={$date->year}&m={$date->mon}&d={$k}" seoTemplate="calendar_day"}{{endif}}'>{lang="birthdays_count" pluralize="$birthdays[ $date->mon . $k ]"}</a></p>
|
||||
{{endif}}
|
||||
</div>
|
||||
</td>
|
||||
@@ -250,9 +303,9 @@
|
||||
<template template_group="browse" template_name="calendarStream" template_data="$calendars, $date, $featured, $events, $thisCalendar, $jump, $pagination" template_location="front" template_app="calendar"><![CDATA[
|
||||
<div class='ipsGrid ipsGrid_collapsePhone ipsPager cCalendarNav ipsSpacer_bottom' data-ipsSticky data-ipsSticky-disableIn='phone'>
|
||||
<div class='ipsGrid_span3 ipsType_left ipsPager_prev'>
|
||||
<a href="{{if $thisCalendar}}{url="app=calendar&module=calendar&controller=view&view=stream&id={$thisCalendar->_id}&y={$date->lastMonth('year')}&m={$date->lastMonth('mon')}" seoTemplate="calendar_calstream" seoTitle="$thisCalendar->title_seo"}{{else}}{url="app=calendar&module=calendar&controller=view&view=stream&y={$date->lastMonth('year')}&m={$date->lastMonth('mon')}" seoTemplate="calendar_stream"}{{endif}}" title='{lang="cal_month_stream_title" sprintf="$date->lastMonth('monthName'), $date->lastMonth('year')"}' rel='prev' data-action='changeView'>
|
||||
<span class='ipsPager_type ipsType_normal'>{lang="previous_month"}</span>
|
||||
<span class='ipsPager_title ipsType_light'>{lang="cal_month_title" sprintf="$date->lastMonth('monthName'), $date->lastMonth('year')"}</span>
|
||||
<a href="{{if $thisCalendar}}{url="app=calendar&module=calendar&controller=view&view=stream&id={$thisCalendar->_id}&y={$date->lastMonth('year')}&m={$date->lastMonth('mon')}" seoTemplate="calendar_calstream" seoTitle="$thisCalendar->title_seo"}{{else}}{url="app=calendar&module=calendar&controller=view&view=stream&y={$date->lastMonth('year')}&m={$date->lastMonth('mon')}" seoTemplate="calendar_stream"}{{endif}}" title='{lang="cal_month_stream_title" sprintf="$date->lastMonth('monthName'), $date->lastMonth('year')"}' rel='prev nofollow' data-action='changeView'>
|
||||
<span class='ipsPager_type ipsType_normal'>{$date->lastMonth('monthName')}</span>
|
||||
<span class='ipsPager_title ipsType_light'>{$date->lastMonth('year')}</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class='ipsGrid_span6 ipsType_center ipsPad' data-role='calendarNav'>
|
||||
@@ -265,9 +318,9 @@
|
||||
</ul>
|
||||
</div>
|
||||
<div class='ipsGrid_span3 ipsType_right ipsPager_next'>
|
||||
<a href="{{if $thisCalendar}}{url="app=calendar&module=calendar&controller=view&view=stream&id={$thisCalendar->_id}&y={$date->nextMonth('year')}&m={$date->nextMonth('mon')}" seoTemplate="calendar_calstream" seoTitle="$thisCalendar->title_seo"}{{else}}{url="app=calendar&module=calendar&controller=view&view=stream&y={$date->nextMonth('year')}&m={$date->nextMonth('mon')}" seoTemplate="calendar_stream"}{{endif}}" title='{lang="cal_month_stream_title" sprintf="$date->nextMonth('monthName'), $date->nextMonth('year')"}' rel='next' data-action='changeView'>
|
||||
<span class='ipsPager_type ipsType_normal'>{lang="next_month"}</span>
|
||||
<span class='ipsPager_title ipsType_light'>{lang="cal_month_title" sprintf="$date->nextMonth('monthName'), $date->nextMonth('year')"}</span>
|
||||
<a href="{{if $thisCalendar}}{url="app=calendar&module=calendar&controller=view&view=stream&id={$thisCalendar->_id}&y={$date->nextMonth('year')}&m={$date->nextMonth('mon')}" seoTemplate="calendar_calstream" seoTitle="$thisCalendar->title_seo"}{{else}}{url="app=calendar&module=calendar&controller=view&view=stream&y={$date->nextMonth('year')}&m={$date->nextMonth('mon')}" seoTemplate="calendar_stream"}{{endif}}" title='{lang="cal_month_stream_title" sprintf="$date->nextMonth('monthName'), $date->nextMonth('year')"}' rel='next nofollow' data-action='changeView'>
|
||||
<span class='ipsPager_type ipsType_normal'>{$date->nextMonth('monthName')}</span>
|
||||
<span class='ipsPager_title ipsType_light'>{$date->nextMonth('year')}</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
@@ -284,7 +337,7 @@
|
||||
<div class='ipsList_reset' data-role='patchworkList'>
|
||||
{{foreach $events as $event}}
|
||||
<div data-role='patchworkItem'>
|
||||
{template="eventBlock" app="calendar" group="view" params="$event, $date, FALSE, array( 240, 185 ), TRUE"}
|
||||
{template="eventBlock" app="calendar" group="view" params="$event, $date, TRUE, array( 240, 185 ), TRUE"}
|
||||
</div>
|
||||
{{endforeach}}
|
||||
</div>
|
||||
@@ -302,7 +355,7 @@
|
||||
<template template_group="browse" template_name="calendarWeek" template_data="$calendars, $date, $featured, $birthdays, $events, $nextWeek, $lastWeek, $days, $today, $thisCalendar, $jump, $startDates=array()" template_location="front" template_app="calendar"><![CDATA[
|
||||
<div class='ipsGrid ipsGrid_collapsePhone ipsPager cCalendarNav ipsSpacer_bottom' data-ipsSticky data-ipsSticky-disableIn='phone'>
|
||||
<div class='ipsGrid_span3 ipsType_left ipsPager_prev'>
|
||||
<a href="{{if $thisCalendar}}{url="app=calendar&module=calendar&controller=view&view=week&id={$thisCalendar->_id}&w={$lastWeek->year}-{$lastWeek->mon}-{$lastWeek->mday}" seoTemplate="calendar_calweek" seoTitle="$thisCalendar->title_seo"}{{else}}{url="app=calendar&module=calendar&controller=view&view=week&w={$lastWeek->year}-{$lastWeek->mon}-{$lastWeek->mday}" seoTemplate="calendar_week"}{{endif}}" title='{lang="cal_week_title" sprintf="$lastWeek->firstDayOfWeek('monthNameShort'), $lastWeek->firstDayOfWeek('mday'), $lastWeek->firstDayOfWeek('year'), $lastWeek->lastDayOfWeek('monthNameShort'), $lastWeek->lastDayOfWeek('mday'), $lastWeek->lastDayOfWeek('year')"}' rel='prev' data-action='changeView'>
|
||||
<a href="{{if $thisCalendar}}{url="app=calendar&module=calendar&controller=view&view=week&id={$thisCalendar->_id}&w={$lastWeek->year}-{$lastWeek->mon}-{$lastWeek->mday}" seoTemplate="calendar_calweek" seoTitle="$thisCalendar->title_seo"}{{else}}{url="app=calendar&module=calendar&controller=view&view=week&w={$lastWeek->year}-{$lastWeek->mon}-{$lastWeek->mday}" seoTemplate="calendar_week"}{{endif}}" title='{lang="cal_week_title" sprintf="$lastWeek->firstDayOfWeek('monthNameShort'), $lastWeek->firstDayOfWeek('mday'), $lastWeek->firstDayOfWeek('year'), $lastWeek->lastDayOfWeek('monthNameShort'), $lastWeek->lastDayOfWeek('mday'), $lastWeek->lastDayOfWeek('year')"}' rel='prev nofollow' data-action='changeView'>
|
||||
<span class='ipsPager_type ipsType_normal'>{lang="previous_week"}</span>
|
||||
<span class='ipsPager_title ipsType_light'>
|
||||
<span class='ipsResponsive_inline ipsResponsive_hidePhone'>
|
||||
@@ -320,15 +373,15 @@
|
||||
<li><a href='{{if $thisCalendar}}{url="app=calendar&module=calendar&controller=view&view=month&id={$thisCalendar->_id}&y={$date->year}&m={$date->mon}" seoTemplate="calendar_calmonth" seoTitle="$thisCalendar->title_seo"}{{else}}{url="app=calendar&module=calendar&controller=view&view=month&y={$date->year}&m={$date->mon}" seoTemplate="calendar_month"}{{endif}}' title='{lang="cal_month_title" sprintf="$date->monthName, $date->year"}' class='ipsButton ipsButton_light ipsButton_verySmall' data-action='changeView'>{lang="month"}</a></li>
|
||||
<li><a href='#' class='ipsButton ipsButton_primary ipsButton_verySmall' title='{lang="cal_week_title" sprintf="$date->firstDayOfWeek('monthNameShort'), $date->firstDayOfWeek('mday'), $date->firstDayOfWeek('year'), $date->lastDayOfWeek('monthNameShort'), $date->lastDayOfWeek('mday'), $date->lastDayOfWeek('year')"}' data-action='changeView'>{lang="week"}</a></li>
|
||||
{{if in_array( $today, $days )}}
|
||||
<li><a href='{{if $thisCalendar}}{url="app=calendar&module=calendar&controller=view&view=day&id={$thisCalendar->_id}&y={$date->year}&m={$date->mon}&d={$today->mday}" seoTemplate="calendar_calday" seoTitle="$thisCalendar->title_seo"}{{else}}{url="app=calendar&module=calendar&controller=view&view=day&y={$date->year}&m={$date->mon}&d={$today->mday}" seoTemplate="calendar_day"}{{endif}}' title='{lang="cal_month_day" sprintf="$date->monthName, $today->mday, $date->year"}' class='ipsButton ipsButton_light ipsButton_verySmall' data-action='changeView'>{lang="day"}</a></li>
|
||||
<li><a href='{{if $thisCalendar}}{url="app=calendar&module=calendar&controller=view&view=day&id={$thisCalendar->_id}&y={$date->year}&m={$date->mon}&d={$today->mday}&view=day" seoTemplate="calendar_calday" seoTitle="$thisCalendar->title_seo"}{{else}}{url="app=calendar&module=calendar&controller=view&view=day&y={$date->year}&m={$date->mon}&d={$today->mday}&view=day" seoTemplate="calendar_day"}{{endif}}' title='{lang="cal_month_day" sprintf="$date->monthName, $today->mday, $date->year"}' class='ipsButton ipsButton_light ipsButton_verySmall' data-action='changeView'>{lang="day"}</a></li>
|
||||
{{else}}
|
||||
<li><a href='{{if $thisCalendar}}{url="app=calendar&module=calendar&controller=view&view=day&id={$thisCalendar->_id}&y={$date->year}&m={$date->mon}&d=1" seoTemplate="calendar_calday" seoTitle="$thisCalendar->title_seo"}{{else}}{url="app=calendar&module=calendar&controller=view&view=day&y={$date->year}&m={$date->mon}&d=1" seoTemplate="calendar_day"}{{endif}}' title='{lang="cal_month_day" sprintf="$date->monthName, $date->mday, $date->year"}' class='ipsButton ipsButton_light ipsButton_verySmall' data-action='changeView'>{lang="day"}</a></li>
|
||||
<li><a href='{{if $thisCalendar}}{url="app=calendar&module=calendar&controller=view&view=day&id={$thisCalendar->_id}&y={$date->year}&m={$date->mon}&d=1&view=day" seoTemplate="calendar_calday" seoTitle="$thisCalendar->title_seo"}{{else}}{url="app=calendar&module=calendar&controller=view&view=day&y={$date->year}&m={$date->mon}&d=1&view=day" seoTemplate="calendar_day"}{{endif}}' title='{lang="cal_month_day" sprintf="$date->monthName, $date->mday, $date->year"}' class='ipsButton ipsButton_light ipsButton_verySmall' data-action='changeView'>{lang="day"}</a></li>
|
||||
{{endif}}
|
||||
<li><a href='{{if $thisCalendar}}{url="app=calendar&module=calendar&controller=view&view=stream&id={$thisCalendar->_id}&y={$date->year}&m={$date->mon}" seoTemplate="calendar_calstream" seoTitle="$thisCalendar->title_seo"}{{else}}{url="app=calendar&module=calendar&controller=view&view=stream&y={$date->year}&m={$date->mon}" seoTemplate="calendar_stream"}{{endif}}' title='{lang="cal_month_stream_title" sprintf="$date->monthName, $date->year"}' class='ipsButton ipsButton_light ipsButton_verySmall' data-action='changeView'><span class='ipsResponsive_hidePhone ipsResponsive_inline'>{lang="event_stream"}</span><span class='ipsResponsive_showPhone ipsResponsive_inline'>{lang="event_stream_short"}</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class='ipsGrid_span3 ipsType_right ipsPager_next'>
|
||||
<a href="{{if $thisCalendar}}{url="app=calendar&module=calendar&controller=view&view=week&id={$thisCalendar->_id}&w={$nextWeek->year}-{$nextWeek->mon}-{$nextWeek->mday}" seoTemplate="calendar_calweek" seoTitle="$thisCalendar->title_seo"}{{else}}{url="app=calendar&module=calendar&controller=view&view=week&w={$nextWeek->year}-{$nextWeek->mon}-{$nextWeek->mday}" seoTemplate="calendar_week"}{{endif}}" title='{lang="cal_week_title" sprintf="$nextWeek->firstDayOfWeek('monthNameShort'), $nextWeek->firstDayOfWeek('mday'), $nextWeek->firstDayOfWeek('year'), $nextWeek->lastDayOfWeek('monthNameShort'), $nextWeek->lastDayOfWeek('mday'), $nextWeek->lastDayOfWeek('year')"}' rel='next' data-action='changeView'>
|
||||
<a href="{{if $thisCalendar}}{url="app=calendar&module=calendar&controller=view&view=week&id={$thisCalendar->_id}&w={$nextWeek->year}-{$nextWeek->mon}-{$nextWeek->mday}" seoTemplate="calendar_calweek" seoTitle="$thisCalendar->title_seo"}{{else}}{url="app=calendar&module=calendar&controller=view&view=week&w={$nextWeek->year}-{$nextWeek->mon}-{$nextWeek->mday}" seoTemplate="calendar_week"}{{endif}}" title='{lang="cal_week_title" sprintf="$nextWeek->firstDayOfWeek('monthNameShort'), $nextWeek->firstDayOfWeek('mday'), $nextWeek->firstDayOfWeek('year'), $nextWeek->lastDayOfWeek('monthNameShort'), $nextWeek->lastDayOfWeek('mday'), $nextWeek->lastDayOfWeek('year')"}' rel='next nofollow' data-action='changeView'>
|
||||
<span class='ipsPager_type ipsType_normal'>{lang="next_week"}</span>
|
||||
<span class='ipsPager_title ipsType_light'>
|
||||
<span class='ipsResponsive_inline ipsResponsive_hidePhone'>
|
||||
@@ -348,7 +401,7 @@
|
||||
<li class='ipsColumns ipsColumns_collapsePhone ipsBox'>
|
||||
<div class='ipsColumn ipsColumn_wide ipsAreaBackground_light cCalendarWeek_day {{if $today->year == $day->year AND $today->mon == $day->mon AND $today->mday == $day->mday}} cCalendar_today{{endif}}'>
|
||||
<div class='ipsPad'>
|
||||
<h2 class='ipsType_sectionHead'><strong><a class='ipsType_blendLinks' href='{{if $thisCalendar}}{url="app=calendar&module=calendar&controller=view&id={$thisCalendar->_id}&y={$day->year}&m={$day->mon}&d={$day->mday}" seoTemplate="calendar_calday" seoTitle="$thisCalendar->title_seo"}{{else}}{url="app=calendar&module=calendar&controller=view&y={$day->year}&m={$day->mon}&d={$day->mday}" seoTemplate="calendar_day"}{{endif}}'>{$day->dayName}</a></strong></h2>
|
||||
<h2 class='ipsType_sectionHead'><strong><a class='ipsType_blendLinks' href='{{if $thisCalendar}}{url="app=calendar&module=calendar&controller=view&id={$thisCalendar->_id}&y={$day->year}&m={$day->mon}&d={$day->mday}&view=day" seoTemplate="calendar_calday" seoTitle="$thisCalendar->title_seo"}{{else}}{url="app=calendar&module=calendar&controller=view&y={$day->year}&m={$day->mon}&d={$day->mday}&view=day" seoTemplate="calendar_day"}{{endif}}'>{$day->dayName}</a></strong></h2>
|
||||
<p class='ipsType_reset ipsType_light ipsType_uppercase'>{lang="cal_month_day" sprintf="$day->monthName, $day->mday, $day->year"}</p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -382,8 +435,8 @@
|
||||
{{else}}
|
||||
<span class='ipsType_light ipsType_medium'>{lang="no_events_today"}</span>
|
||||
{{endif}}
|
||||
{{if isset( $birthdays[ $day->mon . $day->mday ] ) AND count( $birthdays[ $day->mon . $day->mday ] ) }}
|
||||
<p class='cCalendar_birthdays ipsType_light'><a class='ipsType_blendLinks' href='{{if $thisCalendar}}{url="app=calendar&module=calendar&controller=view&id={$thisCalendar->_id}&y={$day->year}&m={$day->mon}&d={$day->mday}" seoTemplate="calendar_calday" seoTitle="$thisCalendar->title_seo"}{{else}}{url="app=calendar&module=calendar&controller=view&y={$day->year}&m={$day->mon}&d={$day->mday}" seoTemplate="calendar_day"}{{endif}}'>{lang="birthdays_today" pluralize="count($birthdays[ $day->mon . $day->mday ])"}</a></p>
|
||||
{{if isset( $birthdays[ $day->mon . $day->mday ] ) AND $birthdays[ $day->mon . $day->mday ] }}
|
||||
<p class='cCalendar_birthdays ipsType_light'><a class='ipsType_blendLinks' href='{{if $thisCalendar}}{url="app=calendar&module=calendar&controller=view&id={$thisCalendar->_id}&y={$day->year}&m={$day->mon}&d={$day->mday}&view=day" seoTemplate="calendar_calday" seoTitle="$thisCalendar->title_seo"}{{else}}{url="app=calendar&module=calendar&controller=view&y={$day->year}&m={$day->mon}&d={$day->mday}&view=day" seoTemplate="calendar_day"}{{endif}}'>{lang="birthdays_today" pluralize="$birthdays[ $day->mon . $day->mday ]"}</a></p>
|
||||
{{endif}}
|
||||
</div>
|
||||
</div>
|
||||
@@ -400,7 +453,11 @@
|
||||
|
||||
<ul class="ipsToolList ipsToolList_horizontal ipsResponsive_showPhone ipsResponsive_block ipsClearfix ipsSpacer_top">
|
||||
{{if ( $thisCalendar AND $thisCalendar->can('add') ) OR ( !$thisCalendar AND \IPS\calendar\Calendar::canOnAny('add') )}}
|
||||
<li><a href='{url="app=calendar&module=calendar&controller=submit" seoTemplate="calendar_submit"}' class='ipsButton ipsButton_important ipsButton_normal ipsButton_fullWidth'>{lang="create_event"}</a></li>
|
||||
{{if $thisCalendar}}
|
||||
<li><a href='{url="app=calendar&module=calendar&controller=submit&calendar={$thisCalendar->id}" seoTemplate="calendar_submit"}' class='ipsButton ipsButton_important ipsButton_normal ipsButton_fullWidth'>{lang="create_event"}</a></li>
|
||||
{{else}}
|
||||
<li><a href='{url="app=calendar&module=calendar&controller=submit" seoTemplate="calendar_submit"}' class='ipsButton ipsButton_important ipsButton_normal ipsButton_fullWidth'>{lang="create_event"}</a></li>
|
||||
{{endif}}
|
||||
<li><a href='#elCalendarJump' data-ipsMenu data-ipsMenu-menuID='elCalendarJump' data-ipsMenu-closeOnClick='false' class='ipsButton ipsButton_light ipsButton_fullWidth ipsButton_normal'>{lang="jump_to"} <i class='fa fa-caret-down'></i></a></li>
|
||||
{{endif}}
|
||||
</ul>
|
||||
@@ -486,11 +543,11 @@
|
||||
{{endif}}
|
||||
{{if $event->container()->allow_reviews}}
|
||||
<li>
|
||||
<span itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
|
||||
<div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
|
||||
<meta itemprop='ratingValue' content='{$event->averageReviewRating()}'>
|
||||
<meta itemprop='reviewCount' content='{$event->reviews}'>
|
||||
{template="rating" group="global" location="front" app="core" params="'small', $event->averageReviewRating(), \IPS\Settings::i()->reviews_rating_out_of"}
|
||||
</span>
|
||||
{template="rating" group="global" location="front" app="core" params="'small', $event->averageReviewRating(), \IPS\Settings::i()->reviews_rating_out_of, $event->memberReviewRating()"}
|
||||
</div>
|
||||
</li>
|
||||
{{endif}}
|
||||
{{if $event->container()->allow_comments}}
|
||||
@@ -505,7 +562,7 @@
|
||||
{{foreach $rows as $row}}
|
||||
{{$idField = $row::$databaseColumnId;}}
|
||||
<li class="ipsDataItem ipsDataItem_responsivePhoto {{if $row->unread()}}ipsDataItem_unread{{endif}} {{if method_exists( $row, 'tableClass' ) && $row->tableClass()}}ipsDataItem_{$row->tableClass()}{{endif}} {{if $row->hidden()}}ipsModerated{{endif}}" data-controller='core.front.system.manageFollowed' data-followID='{$row->_followData['follow_area']}-{$row->_followData['follow_rel_id']}'>
|
||||
<div class='ipsDataItem_generic ipsDataItem_size2'>
|
||||
<div class='ipsDataItem_generic ipsDataItem_size2 ipsDataItem_imageColumn'>
|
||||
{{if $row->nextOccurrence( \IPS\calendar\Date::getDate(), 'startDate' )}}
|
||||
<time datetime='{$row->nextOccurrence( \IPS\calendar\Date::getDate(), 'startDate' )->mysqlDatetime()}' class='ipsCalendarDate ipsCalendarDate_large'>
|
||||
<span class='ipsCalendarDate_month'>{$row->nextOccurrence( \IPS\calendar\Date::getDate(), 'startDate' )->monthNameShort}</span>
|
||||
@@ -519,7 +576,7 @@
|
||||
{{endif}}
|
||||
</div>
|
||||
<div class='ipsDataItem_main ipsPos_middle'>
|
||||
<h4 class='ipsDataItem_title ipsType_break ipsType_normal'>
|
||||
<h4 class='ipsDataItem_title ipsContained_container'>
|
||||
{{if $row->mapped('locked')}}
|
||||
<i class="fa fa-lock"></i>
|
||||
{{endif}}
|
||||
@@ -541,12 +598,14 @@
|
||||
{{endif}}
|
||||
|
||||
{{if $row->prefix()}}
|
||||
{template="prefix" group="global" app="core" params="$row->prefix( TRUE ), $row->prefix()"}
|
||||
<span>{template="prefix" group="global" app="core" params="$row->prefix( TRUE ), $row->prefix()"}</span>
|
||||
{{endif}}
|
||||
|
||||
<a href='{$row->url()}'>
|
||||
{{if $row->mapped('title')}}{wordbreak="$row->mapped('title')"}{{else}}<em class="ipsType_light">{lang="content_deleted"}</em>{{endif}}
|
||||
</a>
|
||||
<div class='ipsType_break ipsContained'>
|
||||
<a href='{$row->url()}'>
|
||||
{{if $row->mapped('title')}}{$row->mapped('title')}{{else}}<em class="ipsType_light">{lang="content_deleted"}</em>{{endif}}
|
||||
</a>
|
||||
</div>
|
||||
</h4>
|
||||
<div class='ipsDataItem_meta ipsType_light ipsType_blendLinks' data-ipsTruncate data-ipsTruncate-size='2 lines' data-ipsTruncate-type='remove'>
|
||||
{{if method_exists( $row, 'tableDescription' )}}
|
||||
@@ -558,11 +617,11 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='ipsDataItem_generic ipsDataItem_size1 ipsType_center ipsType_large'>
|
||||
<div class='ipsDataItem_generic ipsDataItem_size1 ipsType_center ipsType_large cFollowedContent_anon'>
|
||||
<span class='ipsBadge ipsBadge_icon ipsBadge_new {{if !$row->_followData['follow_is_anon']}}ipsHide{{endif}}' data-role='followAnonymous' data-ipsTooltip title='{lang="follow_is_anon"}'><i class='fa fa-eye-slash'></i></span>
|
||||
</div>
|
||||
|
||||
<div class='ipsDataItem_generic ipsDataItem_size6'>
|
||||
<div class='ipsDataItem_generic ipsDataItem_size6 cFollowedContent_info'>
|
||||
<ul class='ipsList_reset'>
|
||||
<li title='{lang="follow_when"}' data-role='followDate'><i class='fa fa-clock-o'></i> {datetime="$row->_followData['follow_added']"}</li>
|
||||
<li title='{lang="follow_how"}' data-role='followFrequency'>
|
||||
@@ -575,7 +634,7 @@
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class='ipsDataItem_generic ipsDataItem_size6 ipsType_center'>
|
||||
<div class='ipsDataItem_generic ipsDataItem_size6 ipsType_center cFollowedContent_manage'>
|
||||
{template="manageFollow" group="system" app="core" params="$row->_followData['follow_app'], $row->_followData['follow_area'], $row->_followData['follow_rel_id']"}
|
||||
</div>
|
||||
|
||||
@@ -632,9 +691,11 @@
|
||||
{template="prefix" group="global" app="core" params="$row->prefix( TRUE ), $row->prefix()"}
|
||||
{{endif}}
|
||||
|
||||
<a href='{$row->url()}' class='ipsType_break' {{if $row->tableHoverUrl}}data-ipsHover{{endif}}>
|
||||
{{if $row->mapped('title')}}{wordbreak="$row->mapped('title')"}{{else}}<em class="ipsType_light">{lang="content_deleted"}</em>{{endif}}
|
||||
</a>
|
||||
<div class='ipsType_break ipsContained'>
|
||||
<a href='{$row->url()}' class='ipsTruncate ipsTruncate_line' {{if $row->tableHoverUrl}}data-ipsHover{{endif}}>
|
||||
{{if $row->mapped('title')}}{$row->mapped('title')}{{else}}<em class="ipsType_light">{lang="content_deleted"}</em>{{endif}}
|
||||
</a>
|
||||
</div>
|
||||
</h4>
|
||||
<div class='ipsDataItem_meta ipsType_light ipsType_blendLinks'>
|
||||
{$row->eventBlurb()|raw}
|
||||
@@ -656,7 +717,7 @@
|
||||
{{endif}}
|
||||
{{endforeach}}
|
||||
{{if count( $attendees[1] ) > 5}}
|
||||
<li class='ipsType_light'>{lang="and_x_more" sprintf="count( $attendees[1] ) - 5"}</li>
|
||||
<li class='ipsType_light'>{lang="and_x_more" pluralize="count( $attendees[1] ) - 5"}</li>
|
||||
{{endif}}
|
||||
</ul>
|
||||
{{endif}}
|
||||
@@ -664,30 +725,14 @@
|
||||
{{if count( $row->tags() )}}
|
||||
<ul class='ipsTags ipsList_inline'>
|
||||
{{foreach $row->tags() as $tag}}
|
||||
<li><a href="{url="app=core&module=search&controller=search&do=tags&tag={$tag}" seoTemplate="tags"}">{$tag}</a></li>
|
||||
<li><a href="{url="app=core&module=search&controller=search&tags={$tag}" seoTemplate="tags"}">{$tag}</a></li>
|
||||
{{endforeach}}
|
||||
</ul>
|
||||
{{endif}}
|
||||
</div>
|
||||
<div class='ipsDataItem_generic ipsDataItem_size8'>
|
||||
{{if $row->container()->allow_reviews}}
|
||||
<ul class='ipsList_inline ipsClearfix ipsRating ipsRating_large'>
|
||||
{{foreach range( 1, 5 ) as $i}}
|
||||
<li class='{{if $row->rating >= $i}}ipsRating_on{{else}}ipsRating_off{{endif}}'>
|
||||
<i class='fa fa-star'></i>
|
||||
</li>
|
||||
{{endforeach}}
|
||||
</ul>
|
||||
|
||||
<span class='ipsType_normal'>
|
||||
{{if $row->reviews}}
|
||||
<a href='{$row->url()->setQueryString( 'tab', 'reviews' )->setFragment('replies')}'>
|
||||
{{endif}}
|
||||
{lang="num_reviews" pluralize="$row->reviews"}
|
||||
{{if $row->reviews}}
|
||||
</a>
|
||||
{{endif}}
|
||||
</span>
|
||||
{template="rating" group="global" location="front" app="core" params="'large', $row->averageReviewRating(), \IPS\Settings::i()->reviews_rating_out_of, $row->memberReviewRating()"} <span class='ipsType_normal ipsType_light'>({lang="num_reviews" pluralize="$row->reviews"})</span>
|
||||
{{endif}}
|
||||
{{if $row->container()->allow_comments}}
|
||||
<p class='ipsType_normal'>
|
||||
@@ -745,7 +790,7 @@
|
||||
{template="rating" app="core" params="'medium', $reviewRating" group="global"}
|
||||
{{endif}}
|
||||
{{if trim( $indexData['index_content'] ) !== ''}}
|
||||
<div class='ipsType_richText ipsType_break ipsType_medium ipsSpacer_top ipsSpacer_half' {{if !( \IPS\Dispatcher::i()->application->directory == 'core' and \IPS\Dispatcher::i()->module and \IPS\Dispatcher::i()->module->key == 'search' )}}data-ipsTruncate data-ipsTruncate-type='remove' data-ipsTruncate-size='3 lines'{{else}}data-searchable data-findTerm{{endif}}>
|
||||
<div class='ipsType_richText ipsType_break ipsType_medium ipsSpacer_top ipsSpacer_half' {{if !( \IPS\Dispatcher::i()->application->directory == 'core' and \IPS\Dispatcher::i()->module and \IPS\Dispatcher::i()->module->key == 'search' )}}data-ipsTruncate data-ipsTruncate-type='remove' data-ipsTruncate-size='3 lines' data-ipsTruncate-watch='false'{{else}}data-searchable data-findTerm{{endif}}>
|
||||
{$indexData['index_content']|raw}
|
||||
</div>
|
||||
{{endif}}
|
||||
@@ -780,7 +825,7 @@
|
||||
</strong>
|
||||
|
||||
{{if trim( $indexData['index_content'] ) !== ''}}
|
||||
<div class='ipsSpacer_top ipsSpacer_half ipsType_richText ipsType_break ipsType_medium' {{if !( \IPS\Dispatcher::i()->application->directory == 'core' and \IPS\Dispatcher::i()->module and \IPS\Dispatcher::i()->module->key == 'search' )}}data-ipsTruncate data-ipsTruncate-type='remove' data-ipsTruncate-size='2 lines'{{else}}data-searchable data-findTerm{{endif}}>
|
||||
<div class='ipsSpacer_top ipsSpacer_half ipsType_richText ipsType_break ipsType_medium' {{if !( \IPS\Dispatcher::i()->application->directory == 'core' and \IPS\Dispatcher::i()->module and \IPS\Dispatcher::i()->module->key == 'search' )}}data-ipsTruncate data-ipsTruncate-type='remove' data-ipsTruncate-size='2 lines' data-ipsTruncate-watch='false'{{else}}data-searchable data-findTerm{{endif}}>
|
||||
{$indexData['index_content']|raw}
|
||||
</div>
|
||||
{{endif}}
|
||||
@@ -810,9 +855,9 @@
|
||||
{{endif}}
|
||||
{{if $item->author()->member_id != \IPS\Member::loggedIn()->member_id}}
|
||||
{{if $item->author()->members_bitoptions['bw_is_spammer']}}
|
||||
<li class='ipsMenu_item' data-ipsMenuValue='spamFlagButton'><a href='{url="app=core&module=system&controller=moderation&id={$item->author()->member_id}&s=0" seoTemplate="flag_as_spammer" seoTitle="$item->author()->members_seo_name" csrf="true"}' data-confirm data-confirmSubMessage="{lang="spam_unflag_confirm"}">{lang="spam_unflag"}</a></li>
|
||||
<li class='ipsMenu_item' data-ipsMenuValue='spamFlagButton'><a href='{url="app=core&module=system&controller=moderation&do=flagAsSpammer&id={$item->author()->member_id}&s=0" seoTemplate="flag_as_spammer" seoTitle="$item->author()->members_seo_name" csrf="true"}' data-confirm data-confirmSubMessage="{lang="spam_unflag_confirm"}">{lang="spam_unflag"}</a></li>
|
||||
{{else}}
|
||||
<li class='ipsMenu_item' data-ipsMenuValue='spamFlagButton'><a href='{url="app=core&module=system&controller=moderation&id={$item->author()->member_id}&s=1" seoTemplate="flag_as_spammer" seoTitle="$item->author()->members_seo_name" csrf="true"}' data-confirm>{lang="spam_flag"}</a></li>
|
||||
<li class='ipsMenu_item' data-ipsMenuValue='spamFlagButton'><a href='{url="app=core&module=system&controller=moderation&do=flagAsSpammer&id={$item->author()->member_id}&s=1" seoTemplate="flag_as_spammer" seoTitle="$item->author()->members_seo_name" csrf="true"}' data-confirm>{lang="spam_flag"}</a></li>
|
||||
{{endif}}
|
||||
{{endif}}
|
||||
<li class="ipsMenu_item"><a href='{url="app=core&module=messaging&controller=messenger&do=compose&to={$item->author()->member_id}" seoTemplate="messenger_compose"}' data-ipsDialog data-ipsDialog-title='{lang="compose_new"}' data-ipsDialog-remoteSubmit data-ipsDialog-flashMessage="{lang="message_sent"}">{lang="message_send"}</a></li>
|
||||
@@ -853,6 +898,10 @@
|
||||
</div>
|
||||
</div>
|
||||
</article>
|
||||
</div>
|
||||
]]></template>
|
||||
<template template_group="submit" template_name="calendarSelector" template_data="$form" template_location="front" template_app="calendar"><![CDATA[<div class='ipsPad'>
|
||||
{$form|raw}
|
||||
</div>]]></template>
|
||||
<template template_group="submit" template_name="datesForm" template_data="$name, $value, $timeZones, $error=''" template_location="front" template_app="calendar"><![CDATA[
|
||||
<div data-controller='calendar.front.submit.dates' id='eventDateSelection' class='ipsAreaBackground_light ipsPad'>
|
||||
@@ -865,19 +914,25 @@
|
||||
<div class='ipsPad'>
|
||||
<div class='cCalendarSubmit_field'>
|
||||
<i class='fa fa-calendar'></i>
|
||||
<input type="date" data-summaryControl name="event_dates[start_date]" value="{{if $value['start_date'] instanceof \IPS\DateTime}}{$value['start_date']->format('Y-m-d')}{{else}}{$value['start_date']}{{endif}}" data-preferredFormat="{{if $value['start_date'] instanceof \IPS\DateTime}}{$value['start_date']->fullYearLocaleDate()}{{else}}{$value['start_date']}{{endif}}" required aria-required='true' class="ipsField_short" data-control="date" placeholder='{expression="mb_strtoupper( str_replace( 'y', 'yy', \IPS\Member::loggedIn()->language()->preferredDateFormat() ) )"}'>
|
||||
<input type="date" data-summaryControl name="event_dates[start_date]" value="{{if $value['start_date'] instanceof \IPS\DateTime}}{$value['start_date']->format('Y-m-d')}{{else}}{$value['start_date']}{{endif}}" data-preferredFormat="{{if $value['start_date'] instanceof \IPS\DateTime}}{$value['start_date']->fullYearLocaleDate()}{{else}}{$value['start_date']}{{endif}}" required aria-required='true' class="ipsField_short" data-control="date" placeholder='{expression="str_replace( array( 'YYYY', 'MM', 'DD' ), array( \IPS\Member::loggedIn()->language()->addToStack('_date_format_yyyy'), \IPS\Member::loggedIn()->language()->addToStack('_date_format_mm'), \IPS\Member::loggedIn()->language()->addToStack('_date_format_dd') ), str_replace( 'Y', 'YY', \IPS\Member::loggedIn()->language()->preferredDateFormat() ) )"}'>
|
||||
</div>
|
||||
<div class='cCalendarSubmit_field' id='start_time_wrap'>
|
||||
<i class='fa fa-clock-o'></i>
|
||||
<input name="event_dates[start_time]" id="start_time" type="time" size='12' class="ipsField_short" placeholder="HH:MM" step='60' min='00:00' value="{$value['start_time']}">
|
||||
<input name="event_dates[start_time]" id="start_time" type="time" size='12' class="ipsField_short" placeholder="{lang="_time_format_hhmm"}" step='60' min='00:00' value="{$value['start_time']}">
|
||||
</div>
|
||||
<br><br>
|
||||
<ul class='ipsList_inline'>
|
||||
<li>
|
||||
<input type="checkbox" role="checkbox" name="event_dates[single_day]" {{if isset($value['single_day']) AND $value['single_day']}}checked aria-checked='true'{{endif}} value="1" id="check_single_day"> <label for='check_single_day'>{lang="event_single_day"}</label>
|
||||
<span class='ipsCustomInput'>
|
||||
<input type="checkbox" role="checkbox" name="event_dates[single_day]" {{if isset($value['single_day']) AND $value['single_day']}}checked aria-checked='true'{{endif}} value="1" id="check_single_day">
|
||||
<span></span>
|
||||
</span> <label for='check_single_day'>{lang="event_single_day"}</label>
|
||||
</li>
|
||||
<li>
|
||||
<input type="checkbox" role="checkbox" name="event_dates[all_day]" {{if isset($value['all_day']) AND $value['all_day']}}checked aria-checked='true'{{endif}} value="1" id="check_all_day"> <label for='check_all_day'>{lang="event_all_day"}</label>
|
||||
<span class='ipsCustomInput'>
|
||||
<input type="checkbox" role="checkbox" name="event_dates[all_day]" {{if isset($value['all_day']) AND $value['all_day']}}checked aria-checked='true'{{endif}} value="1" id="check_all_day">
|
||||
<span></span>
|
||||
</span> <label for='check_all_day'>{lang="event_all_day"}</label>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -890,11 +945,11 @@
|
||||
<div class='ipsPad'>
|
||||
<div class='cCalendarSubmit_field' id='event_end_date_wrap'>
|
||||
<i class='fa fa-calendar'></i>
|
||||
<input type="date" name="event_dates[end_date]" value="{{if $value['end_date'] instanceof \IPS\DateTime}}{$value['end_date']->format('Y-m-d')}{{else}}{$value['end_date']}{{endif}}" data-preferredFormat="{{if $value['end_date'] instanceof \IPS\DateTime}}{$value['end_date']->fullYearLocaleDate()}{{else}}{{if $value['start_date'] instanceof \IPS\DateTime}}{$value['start_date']->fullYearLocaleDate()}{{else}}{$value['end_date']}{{endif}}{{endif}}" class="ipsField_short" data-control="date" id="event_end_date" placeholder='{expression="mb_strtoupper( str_replace( 'y', 'yy', \IPS\Member::loggedIn()->language()->preferredDateFormat() ) )"}'>
|
||||
<input type="date" name="event_dates[end_date]" value="{{if $value['end_date'] instanceof \IPS\DateTime}}{$value['end_date']->format('Y-m-d')}{{else}}{$value['end_date']}{{endif}}" data-preferredFormat="{{if $value['end_date'] instanceof \IPS\DateTime}}{$value['end_date']->fullYearLocaleDate()}{{else}}{{if $value['start_date'] instanceof \IPS\DateTime}}{$value['start_date']->fullYearLocaleDate()}{{else}}{$value['end_date']}{{endif}}{{endif}}" class="ipsField_short" data-control="date" id="event_end_date" placeholder='{expression="mb_strtoupper( str_replace( 'Y', 'YY', \IPS\Member::loggedIn()->language()->preferredDateFormat() ) )"}'>
|
||||
</div>
|
||||
<div class='cCalendarSubmit_field' id='end_time_wrap'>
|
||||
<i class='fa fa-clock-o'></i>
|
||||
<input name="event_dates[end_time]" id="end_time" type="time" size='12' class="ipsField_short" placeholder="HH:MM" step='60' min='00:00' value="{$value['end_time']}">
|
||||
<input name="event_dates[end_time]" id="end_time" type="time" size='12' class="ipsField_short" placeholder="{lang="_time_format_hhmm"}" step='60' min='00:00' value="{$value['end_time']}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -907,7 +962,10 @@
|
||||
<span data-role='dateSummary'></span>
|
||||
</p>
|
||||
<p class='ipsType_normal' id='elRepeatRow_hidden'>
|
||||
<input type='checkbox' role='checkbox' name='event_dates[event_repeat]' value='1' id="elRepeatCb" {{if isset($value['event_repeat']) AND $value['event_repeat']}}checked aria-checked='true'{{endif}}> <label for='elRepeatCb'>{lang="submit_event_repeats_check"}</label>
|
||||
<span class='ipsCustomInput'>
|
||||
<input type='checkbox' role='checkbox' name='event_dates[event_repeat]' value='1' id="elRepeatCb" {{if isset($value['event_repeat']) AND $value['event_repeat']}}checked aria-checked='true'{{endif}}>
|
||||
<span></span>
|
||||
</span> <label for='elRepeatCb'>{lang="submit_event_repeats_check"}</label>
|
||||
</p>
|
||||
<div id='elRepeatRow_shown' class='ipsJS_hide'>
|
||||
<br>
|
||||
@@ -959,7 +1017,10 @@
|
||||
<ul class='ipsFieldRow_content ipsList_reset'>
|
||||
{{foreach \IPS\calendar\Date::getDayNames() as $day }}
|
||||
<li class='ipsFieldRow_inlineCheckbox'>
|
||||
<input type="checkbox" role="checkbox" name="event_dates[repeat_freq_on_{$day['ical']}]" value="1" id="check_repeat_freq_on_{$day['ical']}" data-iCal='{$day['ical']}' {{if ( isset( $value['repeat_freq_on_' . $day['ical'] ] ) AND $value['repeat_freq_on_' . $day['ical'] ] )}}checked aria-checked='true'{{endif}}> <label for="check_repeat_freq_on_{$day['ical']}">{$day['abbreviated']}</label>
|
||||
<span class='ipsCustomInput'>
|
||||
<input type="checkbox" role="checkbox" name="event_dates[repeat_freq_on_{$day['ical']}]" value="1" id="check_repeat_freq_on_{$day['ical']}" data-iCal='{$day['ical']}' {{if ( isset( $value['repeat_freq_on_' . $day['ical'] ] ) AND $value['repeat_freq_on_' . $day['ical'] ] )}}checked aria-checked='true'{{endif}}>
|
||||
<span></span>
|
||||
</span> <label for="check_repeat_freq_on_{$day['ical']}">{$day['abbreviated']}</label>
|
||||
</li>
|
||||
{{endforeach}}
|
||||
</ul>
|
||||
@@ -968,19 +1029,28 @@
|
||||
<span class='ipsFieldRow_label' for=''>{lang="event_rpm_ends"}</span>
|
||||
<ul class='ipsFieldRow_content ipsField_fieldList'>
|
||||
<li>
|
||||
<input type='radio' name='event_dates[repeat_end]' id='event_repeat_end_never' value='never'{{if !$value['repeat_end_occurrences'] AND !$value['repeat_end_date']}} checked{{endif}}>
|
||||
<span class='ipsCustomInput'>
|
||||
<input type='radio' name='event_dates[repeat_end]' id='event_repeat_end_never' value='never'{{if !$value['repeat_end_occurrences'] AND !$value['repeat_end_date']}} checked{{endif}}>
|
||||
<span></span>
|
||||
</span>
|
||||
<div class='ipsField_fieldList_content'>
|
||||
<label for="event_repeat_end_never">{lang="event_rpm_ends_never"}</label>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<input type='radio' name='event_dates[repeat_end]' id='event_repeat_end_afterx' value='after'{{if $value['repeat_end_occurrences']}} checked{{endif}}>
|
||||
<span class='ipsCustomInput'>
|
||||
<input type='radio' name='event_dates[repeat_end]' id='event_repeat_end_afterx' value='after'{{if $value['repeat_end_occurrences']}} checked{{endif}}>
|
||||
<span></span>
|
||||
</span>
|
||||
<div class='ipsField_fieldList_content'>
|
||||
<label for="event_repeat_end_afterx">{lang="event_rpm_ends_afterx"}</label> <input type='number' name='event_dates[repeat_end_occurrences]' class='cCalendar_shortInput' size='4' min='1' value='{$value['repeat_end_occurrences']}'> {lang="event_rpm_ends_occurrencesx"}
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<input type='radio' name='event_dates[repeat_end]' id='event_repeat_end_ondate' value='date'{{if $value['repeat_end_date']}} checked{{endif}}>
|
||||
<span class='ipsCustomInput'>
|
||||
<input type='radio' name='event_dates[repeat_end]' id='event_repeat_end_ondate' value='date'{{if $value['repeat_end_date']}} checked{{endif}}>
|
||||
<span></span>
|
||||
</span>
|
||||
<div class='ipsField_fieldList_content'>
|
||||
<label for="event_repeat_end_ondate">{lang="event_rpm_ends_date"}</label> <input type='date' name='event_dates[repeat_end_date]' class='cCalendar_shortInput' size='10' value='{{if $value['repeat_end_date'] instanceof \IPS\calendar\Date}}{$value['repeat_end_date']->mysqlDatetime( FALSE )}{{endif}}'>
|
||||
</div>
|
||||
@@ -1077,7 +1147,7 @@
|
||||
</ul>
|
||||
{{endif}}
|
||||
</div>]]></template>
|
||||
<template template_group="view" template_name="comments" template_data="$event" template_location="front" template_app="calendar"><![CDATA[<div class='' data-controller='core.front.core.commentFeed' {{if settings.auto_polling_enabled}}data-autoPoll{{endif}} data-baseURL='{$event->url()}' {{if $event->isLastPage()}}data-lastPage{{endif}} data-feedID='event-{$event->id}' id='comments'>
|
||||
<template template_group="view" template_name="comments" template_data="$event" template_location="front" template_app="calendar"><![CDATA[<div class='' data-controller='core.front.core.commentFeed, core.front.core.ignoredComments' {{if settings.auto_polling_enabled}}data-autoPoll{{endif}} data-baseURL='{$event->url()}' {{if $event->isLastPage()}}data-lastPage{{endif}} data-feedID='event-{$event->id}' id='comments'>
|
||||
{{if $event->commentPageCount() > 1}}
|
||||
{$event->commentPagination( array( 'tab' ) )|raw}
|
||||
<br><br>
|
||||
@@ -1126,9 +1196,9 @@
|
||||
{{endif}}
|
||||
</div>]]></template>
|
||||
<template template_group="view" template_name="coverPhotoOverlay" template_data="$event" template_location="front" template_app="calendar"><![CDATA[<div class='cEvent_details'>
|
||||
<h1 class='ipsType_pageTitle ipsTruncate ipsTruncate_line'>
|
||||
<h1 class='ipsType_pageTitle ipsContained_container ipsTruncate ipsTruncate_line'>
|
||||
{{if $event->prefix()}}
|
||||
{template="prefix" group="global" app="core" params="$event->prefix( TRUE ), $event->prefix()"}
|
||||
<span>{template="prefix" group="global" app="core" params="$event->prefix( TRUE ), $event->prefix()"}</span>
|
||||
{{endif}}
|
||||
|
||||
{{if $event->locked()}}<i class='fa fa-lock'></i> {{endif}}
|
||||
@@ -1146,8 +1216,15 @@
|
||||
<span class="ipsBadge ipsBadge_icon ipsBadge_positive" data-ipsTooltip title='{lang="featured"}'><i class='fa fa-star'></i></span>
|
||||
{{endif}}
|
||||
{{endif}}
|
||||
|
||||
<span itemprop='name'>{$event->title}</span>
|
||||
{{if $event->canEdit()}}
|
||||
<div class='ipsType_break ipsContained' data-controller="core.front.core.moderation">
|
||||
<span itemprop='name' data-role="editableTitle" title='{lang="click_hold_edit"}'>{$event->title}</span>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class='ipsType_break ipsContained'>
|
||||
<span itemprop='name' class="">{$event->title}</span>
|
||||
</div>
|
||||
{{endif}}
|
||||
</h1>
|
||||
<p class='ipsType_normal ipsType_reset'>
|
||||
<time itemprop='startDate' content='{expression="$event->_start_date->format( 'Y-m-d' )"}'>
|
||||
@@ -1182,7 +1259,7 @@
|
||||
<img src='{$event->author()->photo}' class="ipsUserPhoto ipsUserPhoto_mini" alt=''>
|
||||
</div>
|
||||
<div class='ipsColumn ipsColumn_fluid'>
|
||||
<h2 class='ipsType_pageTitle'><a href='{$event->url()}' title='{$event->title}'>{truncate="$event->title" length="18"}{{if $event->hidden() === 1}} <span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{lang="pending_approval"}'><i class='fa fa-warning'></i></span>{{endif}}</a></h2>
|
||||
<h2 class='ipsType_pageTitle ipsType_blendLinks'><a href='{$event->url()}' title='{$event->title}'>{truncate="$event->title" length="18"}{{if $event->hidden() === 1}} <span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{lang="pending_approval"}'><i class='fa fa-warning'></i></span>{{endif}}</a></h2>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1190,7 +1267,7 @@
|
||||
<div class='ipsPad ipsClearfix'>
|
||||
<h3 class='ipsType_reset'>
|
||||
{{$startDate = $event->nextOccurrence( $date, 'startDate' );}}
|
||||
{{if $revertToFirst AND $startDate->mon > $date->mon}}
|
||||
{{if $revertToFirst AND $startDate AND $startDate->mon > $date->mon}}
|
||||
{{$startDate = $event->nextOccurrence( \IPS\calendar\Date::getDate( $date->year, $date->mon, 1 ), 'startDate' );}}
|
||||
{{endif}}
|
||||
{{if $startDate}}
|
||||
@@ -1257,14 +1334,21 @@
|
||||
</li>
|
||||
{{endforeach}}
|
||||
</ul>]]></template>
|
||||
<template template_group="view" template_name="eventSidebar" template_data="$event, $attendees, $tabId=''" template_location="front" template_app="calendar"><![CDATA[
|
||||
<template template_group="view" template_name="eventSidebar" template_data="$event, $attendees, $tabId='', $address=NULL" template_location="front" template_app="calendar"><![CDATA[
|
||||
{{if $event->map( 250, 250 )}}
|
||||
<div class='ipsPad_half ipsType_center ipsAreaBackground'>
|
||||
{$event->map( 250, 250 )|raw}
|
||||
</div>
|
||||
<br>
|
||||
{{endif}}
|
||||
|
||||
{{if $address}}
|
||||
<div class='ipsPad_half ipsAreaBackground'>
|
||||
<h3 class='ipsType_minorHeading'>
|
||||
<strong>{lang="event_address"}</strong>
|
||||
</h3>
|
||||
{$address|raw}
|
||||
</div>
|
||||
{{endif}}
|
||||
{{if $event->rsvp }}
|
||||
{template="rsvpControls" group="view" params="$event, $attendees"}
|
||||
<br>
|
||||
@@ -1343,14 +1427,14 @@
|
||||
|
||||
{{if count($attendees[0]) OR count($attendees[1]) OR count($attendees[2]) }}
|
||||
<div class='ipsPad_half ipsType_center ipsType_medium ipsAreaBackground_light'>
|
||||
<a href='{$event->url('downloadRsvp')}' class=''><i class='fa fa-arrow-circle-o-down'></i> {lang="rsvp_download"}</a>
|
||||
<a href='{$event->url('downloadRsvp')->csrf()}' class='' rel="noindex, nofollow" ><i class='fa fa-arrow-circle-o-down'></i> {lang="rsvp_download"}</a>
|
||||
</div>
|
||||
{{endif}}
|
||||
</div>
|
||||
</div>
|
||||
{{endif}}]]></template>
|
||||
<template template_group="view" template_name="reviews" template_data="$event" template_location="front" template_app="calendar"><![CDATA[<div data-controller='core.front.core.commentFeed' {{if settings.auto_polling_enabled}}data-autoPoll{{endif}} data-baseURL='{$event->url()}' {{if $event->isLastPage('reviews')}}data-lastPage{{endif}} data-feedID='event-{$event->id}-reviews' id='reviews'>
|
||||
{{if $event->canReview()}}
|
||||
<template template_group="view" template_name="reviews" template_data="$event" template_location="front" template_app="calendar"><![CDATA[<div data-controller='core.front.core.commentFeed' {{if settings.auto_polling_enabled}}data-autoPoll{{endif}} data-commentsType='reviews' data-baseURL='{$event->url()}' {{if $event->isLastPage('reviews')}}data-lastPage{{endif}} data-feedID='event-{$event->id}-reviews' id='reviews'>
|
||||
{{if $event->reviewForm()}}
|
||||
{{if $event->locked()}}
|
||||
<strong class='ipsType_warning'><i class='fa fa-info-circle'></i> {lang="item_locked_can_review"}</strong>
|
||||
{{endif}}
|
||||
@@ -1358,34 +1442,42 @@
|
||||
{$event->reviewForm()|raw}
|
||||
</div>
|
||||
{{else}}
|
||||
{{if $event->locked()}}
|
||||
{template="commentUnavailable" group="forms" location="front" app="core" params="'item_locked_cannot_comment'"}
|
||||
{{if $event->hasReviewed()}}
|
||||
<!-- Already reviewed -->
|
||||
{{elseif $event->locked()}}
|
||||
{template="commentUnavailable" group="forms" location="front" app="core" params="'item_locked_cannot_review'"}
|
||||
{{elseif \IPS\Member::loggedin()->restrict_post}}
|
||||
{template="commentUnavailable" group="forms" location="front" app="core" params="'restricted_cannot_comment', \IPS\Member::loggedIn()->restrict_post"}
|
||||
{{if \IPS\Member::loggedIn()->restrict_post == -1}}
|
||||
{template="reviewUnavailable" group="forms" location="front" app="core" params="'restricted_cannot_comment'"}
|
||||
{{else}}
|
||||
{template="reviewUnavailable" group="forms" location="front" app="core" params="'restricted_cannot_comment', \IPS\Member::loggedIn()->warnings(5,NULL,'rpa'), \IPS\Member::loggedIn()->restrict_post"}
|
||||
{{endif}}
|
||||
{{elseif \IPS\Member::loggedIn()->members_bitoptions['unacknowledged_warnings']}}
|
||||
{template="reviewUnavailable" group="forms" location="front" app="core" params="'unacknowledged_warning_cannot_post', \IPS\Member::loggedIn()->warnings( 1, FALSE )"}
|
||||
{{endif}}
|
||||
{{endif}}
|
||||
{{if count( $event->reviews() )}}
|
||||
<hr class='ipsHr'>
|
||||
<div class="ipsClearfix">
|
||||
{{if !$event->hasReviewed()}}<hr class='ipsHr'>{{endif}}
|
||||
<div class="ipsClearfix ipsSpacer_bottom">
|
||||
{{if $event->reviewPageCount() > 1}}
|
||||
<div class="ipsPos_left">
|
||||
<div class="ipsPos_left ipsResponsive_noFloat">
|
||||
{$event->reviewPagination( array( 'tab', 'sort' ) )|raw}
|
||||
</div>
|
||||
{{endif}}
|
||||
<div class="ipsClearfix ipsResponsive_showDesktop ipsPos_right">
|
||||
<ul class="ipsButtonRow ipsPos_left ipsClearfix">
|
||||
<li data-action="tableFilter" data-filter="helpful">
|
||||
<div class="ipsClearfix ipsPos_right ipsResponsive_hidePhone">
|
||||
<ul class="ipsButtonRow ipsClearfix">
|
||||
<li data-action="tableFilter">
|
||||
<a href="{$event->url()->setQueryString( array( 'tab' => 'reviews', 'page' => 1, 'sort' => 'helpful' ) )}" class="{{if !isset( request.sort ) or request.sort != 'newest'}}ipsButtonRow_active{{endif}}" data-action="filterClick">{lang="most_helpful"}</a>
|
||||
</li>
|
||||
<li data-action="tableFilter" data-filter="newest">
|
||||
<li data-action="tableFilter">
|
||||
<a href="{$event->url()->setQueryString( array( 'tab' => 'reviews', 'page' => 1, 'sort' => 'newest' ) )}" class="{{if isset( request.sort ) and request.sort == 'newest'}}ipsButtonRow_active{{endif}}" data-action="filterClick">{lang="newest"}</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
<div data-role='commentFeed' data-controller='core.front.core.moderation'>
|
||||
<form action="{$event->url()->setQueryString( 'do', 'multimodReview' )}" method="post" data-ipsPageAction data-role='moderationTools'>
|
||||
<form action="{$event->url()->csrf()->setQueryString( 'do', 'multimodReview' )}" method="post" data-ipsPageAction data-role='moderationTools'>
|
||||
{{$reviewCount=0; $timeLastRead = $event->timeLastRead(); $lined = FALSE;}}
|
||||
{{foreach $event->reviews() as $review}}
|
||||
{{if !$lined and $timeLastRead and $timeLastRead->getTimestamp() < $review->mapped('date')}}
|
||||
@@ -1400,8 +1492,9 @@
|
||||
</form>
|
||||
</div>
|
||||
{{if $event->reviewPageCount() > 1}}
|
||||
<hr class='ipsHr'>
|
||||
{$event->reviewPagination( array( 'tab', 'sort' ) )|raw}
|
||||
<div>
|
||||
{$event->reviewPagination( array( 'tab', 'sort' ) )|raw}
|
||||
</div>
|
||||
{{endif}}
|
||||
{{elseif !$event->canReview()}}
|
||||
<p class="ipsType_normal ipsType_light ipsType_reset" data-role="noReviews">{lang="no_reviews"}</p>
|
||||
@@ -1423,14 +1516,14 @@
|
||||
<ul class="ipsToolList ipsToolList_vertical">
|
||||
{{if isset( $attendees[2][ \IPS\Member::loggedIn()->member_id ] )}}
|
||||
<li>
|
||||
<a href='{$event->url('rsvp')->setQueryString( 'action', 'yes' )}' class='ipsButton ipsButton_important ipsButton_fullWidth'>{lang="rsvp_attend_event"}</a>
|
||||
<a href='{$event->url('rsvp')->setQueryString( 'action', 'yes' )->csrf()}' class='ipsButton ipsButton_important ipsButton_fullWidth'>{lang="rsvp_attend_event"}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href='{$event->url('rsvp')->setQueryString( 'action', 'no' )}' class='ipsButton ipsButton_veryLight ipsButton_fullWidth ipsButton_verySmall'>{lang="rsvp_notgoing_event"}</a>
|
||||
<a href='{$event->url('rsvp')->setQueryString( 'action', 'no' )->csrf()}' class='ipsButton ipsButton_veryLight ipsButton_fullWidth ipsButton_verySmall'>{lang="rsvp_notgoing_event"}</a>
|
||||
</li>
|
||||
{{else}}
|
||||
<li class='ipsType_center'>
|
||||
<a href='{$event->url('rsvp')->setQueryString( 'action', 'leave' )}' class=''>{lang="rsvp_leave_event"}</a>
|
||||
<a href='{$event->url('rsvp')->setQueryString( 'action', 'leave' )->csrf()}' class=''>{lang="rsvp_leave_event"}</a>
|
||||
</li>
|
||||
{{endif}}
|
||||
</ul>
|
||||
@@ -1441,16 +1534,16 @@
|
||||
<div class='ipsMessage ipsMessage_info'>{lang="rsvp_limit_reached"}</div>
|
||||
{{else}}
|
||||
{{if $event->rsvp_limit > 0}}<div class='ipsMessage ipsMessage_info'>{lang="rsvp_limit_info" pluralize="count($attendees[1])" sprintf="$event->rsvp_limit"}</div>{{endif}}
|
||||
<a href='{$event->url('rsvp')->setQueryString( 'action', 'yes' )}' class='ipsButton ipsButton_important ipsButton_fullWidth'>{lang="rsvp_attend_event"}</a>
|
||||
<a href='{$event->url('rsvp')->setQueryString( 'action', 'yes' )->csrf()}' class='ipsButton ipsButton_important ipsButton_fullWidth'>{lang="rsvp_attend_event"}</a>
|
||||
<br>
|
||||
<div class='ipsGrid'>
|
||||
{{if $event->rsvp_limit == -1}}<div class='ipsGrid_span6'><a href='{$event->url('rsvp')->setQueryString( 'action', 'maybe' )}' class='ipsButton ipsButton_primary ipsButton_fullWidth ipsButton_verySmall'>{lang="rsvp_maybe_event"}</a></div>{{endif}}
|
||||
<div class='ipsGrid_span{{if $event->rsvp_limit == -1}}6{{else}}12{{endif}}'><a href='{$event->url('rsvp')->setQueryString( 'action', 'no' )}' class='ipsButton ipsButton_primary ipsButton_fullWidth ipsButton_verySmall'>{lang="rsvp_notgoing_event"}</a></div>
|
||||
{{if $event->rsvp_limit == -1}}<div class='ipsGrid_span6'><a href='{$event->url('rsvp')->setQueryString( 'action', 'maybe' )->csrf()}' class='ipsButton ipsButton_primary ipsButton_fullWidth ipsButton_verySmall'>{lang="rsvp_maybe_event"}</a></div>{{endif}}
|
||||
<div class='ipsGrid_span{{if $event->rsvp_limit == -1}}6{{else}}12{{endif}}'><a href='{$event->url('rsvp')->setQueryString( 'action', 'no' )->csrf()}' class='ipsButton ipsButton_primary ipsButton_fullWidth ipsButton_verySmall'>{lang="rsvp_notgoing_event"}</a></div>
|
||||
</div>
|
||||
{{endif}}
|
||||
</div>
|
||||
{{endif}}]]></template>
|
||||
<template template_group="view" template_name="view" template_data="$event, $commentsAndReviews, $attendees" template_location="front" template_app="calendar"><![CDATA[<div itemscope itemtype="http://schema.org/Event">
|
||||
<template template_group="view" template_name="view" template_data="$event, $commentsAndReviews, $attendees, $address=NULL" template_location="front" template_app="calendar"><![CDATA[<div itemscope itemtype="http://schema.org/Event">
|
||||
<header class='ipsClearfix ipsSpacer_bottom'>
|
||||
<div id="elEventHeader">{$event->coverPhoto()|raw}</div>
|
||||
<div id='elEventHeader_details' class='ipsClearfix ipsAreaBackground ipsPad'>
|
||||
@@ -1462,11 +1555,11 @@
|
||||
{lang="event_created_by" htmlsprintf="$event->author()->link( $event->warningRef() )"}
|
||||
</p>
|
||||
{{if $event->container()->allow_reviews}}
|
||||
<span itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
|
||||
<div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
|
||||
<meta itemprop='ratingValue' content='{$event->averageReviewRating()}'>
|
||||
<meta itemprop='reviewCount' content='{$event->reviews}'>
|
||||
{template="rating" group="global" location="front" app="core" params="'large', $event->averageReviewRating(), \IPS\Settings::i()->reviews_rating_out_of"} <span class='ipsType_medium ipsType_light'>({lang="num_reviews" pluralize="$event->reviews"})</span>
|
||||
</span>
|
||||
{template="rating" group="global" location="front" app="core" params="'large', $event->averageReviewRating(), \IPS\Settings::i()->reviews_rating_out_of, $event->memberReviewRating()"} <span class='ipsType_medium ipsType_light'>({lang="num_reviews" pluralize="$event->reviews"})</span>
|
||||
</div>
|
||||
{{endif}}
|
||||
</div>
|
||||
</div>
|
||||
@@ -1490,7 +1583,7 @@
|
||||
<div class='ipsColumns ipsColumns_collapsePhone'>
|
||||
<aside class='ipsColumn ipsColumn_wide'>
|
||||
<div class='ipsAreaBackground_light'>
|
||||
{template="eventSidebar" group="view" params="$event, $attendees, 'Mob'"}
|
||||
{template="eventSidebar" group="view" params="$event, $attendees, 'Mob', $address"}
|
||||
</div>
|
||||
</aside>
|
||||
<div class='ipsColumn ipsColumn_fluid'>
|
||||
@@ -1509,13 +1602,13 @@
|
||||
{{endif}}
|
||||
<h2 class='ipsType_sectionHead ipsSpacer_bottom'>{lang="event_details"}</h2>
|
||||
|
||||
{{if count( $event->tags() )}}
|
||||
{template="tags" group="global" app="core" params="$event->tags()"}
|
||||
{{if count( $event->tags() ) OR ( $event->canEdit() AND $event::canTag( NULL, $event->container() ) )}}
|
||||
{template="tags" group="global" app="core" params="$event->tags(), FALSE, FALSE, ( $event->canEdit() AND $event::canTag( NULL, $event->container() ) ) ? $event->url() : NULL"}
|
||||
<br>
|
||||
{{endif}}
|
||||
<div class='ipsComment_content ipsType_medium'>
|
||||
<div class='ipsClear ipsType_normal ipsType_richText ipsType_break'>
|
||||
{$event->content|raw}
|
||||
{$event->content()|raw}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1541,7 +1634,7 @@
|
||||
<a href='#elEventActions_menu' id='elEventActions' class='ipsButton ipsButton_light ipsButton_verySmall ipsButton_fullWidth' data-ipsMenu>{lang="manage_event"} <i class='fa fa-caret-down'></i></a>
|
||||
<ul id='elEventActions_menu' class='ipsMenu ipsMenu_auto ipsHide'>
|
||||
{{if $event->canEdit()}}
|
||||
<li class='ipsMenu_item'><a href='{$event->url()->csrf()->setQueryString( array( 'do' => 'edit' ) )}' title='{lang="calendar_edit_details_title"}'>{lang="calendar_edit_details"}</a></li>
|
||||
<li class='ipsMenu_item'><a href='{$event->url()->csrf()->setQueryString( array( 'do' => 'edit' ) )}' title="{lang="calendar_edit_details_title"}">{lang="calendar_edit_details"}</a></li>
|
||||
{{endif}}
|
||||
{{if $event->canFeature()}}
|
||||
<li class='ipsMenu_item'><a href='{$event->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'feature' ) )}' title='{lang="feature_title_event"}'>{lang="feature"}</a></li>
|
||||
@@ -1581,7 +1674,7 @@
|
||||
</li>
|
||||
{{endif}}
|
||||
|
||||
<li><a href='{$event->url('download')}' title='{lang="download_ical_title"}' class='ipsButton ipsButton_link ipsButton_verySmall ipsButton_fullWidth'>{lang="download_ical"}</a></li>
|
||||
<li><a href='{$event->url('download')}' rel="noindex, nofollow" title='{lang="download_ical_title"}' class='ipsButton ipsButton_link ipsButton_verySmall ipsButton_fullWidth'>{lang="download_ical"}</a></li>
|
||||
</ul>
|
||||
|
||||
<div class='ipsResponsive_showPhone ipsResponsive_block'>
|
||||
@@ -1628,8 +1721,8 @@
|
||||
<div class='ipsDataItem_icon'>
|
||||
{template="userPhoto" app="core" group="global" params="$review->author(), 'tiny'"}
|
||||
</div>
|
||||
<div class='ipsDataItem_main ipsType_break'>
|
||||
<a href="{$review->item()->url()}" title='{lang="view_this_event" sprintf="$review->item()->title"}'>{wordbreak="$review->item()->title"}</a><br>
|
||||
<div class='ipsDataItem_main ipsType_break ipsContained'>
|
||||
<a href="{$review->item()->url()}" title='{lang="view_this_event" sprintf="$review->item()->title"}' class='ipsTruncate ipsTruncate_line'>{$review->item()->title}</a><br>
|
||||
<span class='ipsType_light ipsType_medium'>{lang="byline_nodate" htmlsprintf="$review->author()->link()"}</span><br>
|
||||
{template="rating" group="global" location="front" app="core" params="'small', $review->rating, \IPS\Settings::i()->reviews_rating_out_of"}
|
||||
<span class='ipsType_small ipsType_reset'><time datetime="{$review->mapped('date')}" itemprop="dtreviewed">{datetime="$review->mapped('date')" norelative="true"}</time></span>
|
||||
@@ -1649,10 +1742,10 @@
|
||||
<div class='ipsDataItem_icon'>
|
||||
{template="userPhoto" app="core" group="global" params="$review->author(), 'tiny'"}
|
||||
</div>
|
||||
<div class='ipsDataItem_main ipsType_break'>
|
||||
<a href="{$review->item()->url()}" title='{lang="view_this_event" sprintf="$review->item()->title"}'>{wordbreak="$review->item()->title"}</a><br>
|
||||
<div class='ipsDataItem_main ipsType_break ipsContained'>
|
||||
<a href="{$review->item()->url()}" title='{lang="view_this_event" sprintf="$review->item()->title"}' class='ipsTruncate ipsTruncate_line'>{$review->item()->title}</a><br>
|
||||
<span class='ipsType_light ipsType_medium'>{lang="byline_nodate" htmlsprintf="$review->author()->link()"}</span>, <span class='ipsType_small ipsType_reset ipsType_light'><time datetime="{$review->mapped('date')}" itemprop="dtreviewed">{datetime="$review->mapped('date')" norelative="true"}</time></span><br>
|
||||
<div class='ipsType_medium ipsType_richText' data-ipsTruncate data-ipsTruncate-type='remove' data-ipsTruncate-size='2 lines'>
|
||||
<div class='ipsType_medium ipsType_richText' data-ipsTruncate data-ipsTruncate-type='remove' data-ipsTruncate-size='2 lines' data-ipsTruncate-watch='false'>
|
||||
{template="rating" group="global" location="front" app="core" params="'small', $review->rating, \IPS\Settings::i()->reviews_rating_out_of"} {$review->truncated()|raw}
|
||||
</div>
|
||||
</div>
|
||||
@@ -1664,40 +1757,41 @@
|
||||
{{endif}}
|
||||
{{endif}}
|
||||
</div>]]></template>
|
||||
<template template_group="widgets" template_name="todaysBirthdays" template_data="$members, $orientation='vertical'" template_location="front" template_app="calendar"><![CDATA[<h3 class='ipsType_reset ipsWidget_title'>{lang="block_todaysBirthdays"}</h3>
|
||||
<div class='ipsWidget_inner'>
|
||||
<template template_group="widgets" template_name="todaysBirthdays" template_data="$members, $count, $today, $orientation='vertical'" template_location="front" template_app="calendar"><![CDATA[<h3 class='ipsType_reset ipsWidget_title'>{lang="block_todaysBirthdays"}</h3>
|
||||
<div class='ipsWidget_inner {{if $orientation == 'vertical'}}ipsPad{{else}}ipsPad_half{{endif}}'>
|
||||
{{if $orientation == 'vertical'}}
|
||||
<div class='ipsPad_half'>
|
||||
{{if !empty($members) }}
|
||||
<ol class='ipsDataList ipsDataList_reducedSpacing'>
|
||||
{{foreach $members as $member}}
|
||||
<li class='ipsDataItem'>
|
||||
<div class='ipsDataItem_main ipsPhotoPanel ipsPhotoPanel_tiny ipsClearfix'>
|
||||
{template="userPhoto" app="core" group="global" params="$member, 'tiny'"}
|
||||
<div>
|
||||
{$member->link()|raw}
|
||||
{{if $member->bday_year}}<br><span class='ipsType_light'>{lang="member_age" sprintf="$member->age()"}</span>{{endif}}
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
{{endforeach}}
|
||||
</ol>
|
||||
{{else}}
|
||||
<div class='ipsType_light ipsPad_half ipsType_center'>{lang="no_members_birthday_today"}</div>
|
||||
{{endif}}
|
||||
</div>
|
||||
{{else}}
|
||||
{{if !empty($members) }}
|
||||
<ol class='ipsList_inline ipsList_noSpacing'>
|
||||
{{foreach $members as $idx => $member}}
|
||||
<li>
|
||||
{$member->link()|raw} {{if $member->bday_year}} <span class='ipsType_light'>{lang="member_age" sprintf="$member->age()"}</span>{{endif}}{{if $idx != count( $members ) - 1}},{{endif}}
|
||||
<ol class='ipsDataList ipsDataList_reducedSpacing'>
|
||||
{{foreach $members as $member}}
|
||||
<li class='ipsDataItem'>
|
||||
<div class='ipsDataItem_main ipsPhotoPanel ipsPhotoPanel_tiny ipsClearfix'>
|
||||
{template="userPhoto" app="core" group="global" params="$member, 'tiny'"}
|
||||
<div>
|
||||
{$member->link()|raw}
|
||||
{{if $member->bday_year}}<br><span class='ipsType_light'>{lang="member_age" pluralize="$member->age()"}</span>{{endif}}
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
{{endforeach}}
|
||||
</ol>
|
||||
{{else}}
|
||||
<div class='ipsType_light ipsPad_half ipsType_center'>{lang="no_members_birthday_today"}</div>
|
||||
{{endif}}
|
||||
{{else}}
|
||||
{{if !empty($members) }}
|
||||
<ol class='ipsList_inline ipsList_noSpacing'>
|
||||
{{foreach $members as $idx => $member}}
|
||||
<li>
|
||||
{$member->link()|raw} {{if $member->bday_year}} <span class='ipsType_light'>{lang="member_age" pluralize="$member->age()"}</span>{{endif}}{{if $idx != count( $members ) - 1}},{{endif}}
|
||||
</li>
|
||||
{{endforeach}}
|
||||
</ol>
|
||||
{{else}}
|
||||
<div class='ipsType_light ipsPad_half ipsType_center'>{lang="no_members_birthday_today"}</div>
|
||||
{{endif}}
|
||||
{{endif}}
|
||||
{{if $count > count($members)}}
|
||||
<a data-ipsDialog data-ipsDialog-title='{lang="birthdays_today" pluralize="$count"}' data-ipsDialog-size="narrow" href='{url="app=calendar&module=calendar&controller=view&view=day&y={$today->year}&m={$today->mon}&d={$today->mday}&show=birthdays" seoTemplate="calendar_day"}'>{lang="birthdays_view_all"}</a>
|
||||
{{endif}}
|
||||
</div>]]></template>
|
||||
<template template_group="widgets" template_name="upcomingEvents" template_data="$events, $today, $orientation='vertical'" template_location="front" template_app="calendar"><![CDATA[<h3 class='ipsType_reset ipsWidget_title'>{lang="block_upcomingEvents"}</h3>
|
||||
@@ -1708,18 +1802,27 @@
|
||||
{{if !empty( $events ) }}
|
||||
<ul class='ipsDataList ipsDataList_reducedSpacing'>
|
||||
{{foreach $events as $event}}
|
||||
<li class='ipsDataItem'>
|
||||
<li class='ipsDataItem ipsClearfix'>
|
||||
<div class='ipsDataItem_icon cCalendar_date_overlay'>
|
||||
<time datetime='{$event->nextOccurrence( $today, 'startDate' )->mysqlDatetime()}' class='ipsCalendarDate'>
|
||||
<span class='ipsCalendarDate_month'>{$event->nextOccurrence( $today, 'startDate' )->monthNameShort}</span>
|
||||
<span class='ipsCalendarDate_date'>{$event->nextOccurrence( $today, 'startDate' )->mday}</span>
|
||||
</time>
|
||||
{{if $event->nextOccurrence( $today, 'startDate' )}}
|
||||
<time datetime='{$event->nextOccurrence( $today, 'startDate' )->mysqlDatetime()}' class='ipsCalendarDate'>
|
||||
<span class='ipsCalendarDate_month'>{$event->nextOccurrence( $today, 'startDate' )->monthNameShort}</span>
|
||||
<span class='ipsCalendarDate_date'>{$event->nextOccurrence( $today, 'startDate' )->mday}</span>
|
||||
</time>
|
||||
{{else}}
|
||||
<time datetime='{$event->lastOccurrence( 'startDate' )->mysqlDatetime()}' class='ipsCalendarDate'>
|
||||
<span class='ipsCalendarDate_month'>{$event->lastOccurrence( 'startDate' )->monthNameShort}</span>
|
||||
<span class='ipsCalendarDate_date'>{$event->lastOccurrence( 'startDate' )->mday}</span>
|
||||
</time>
|
||||
{{endif}}
|
||||
</div>
|
||||
<div class='ipsDataItem_main ipsType_break ipsContained'>
|
||||
<div class='ipsDataItem_main cWidgetComments'>
|
||||
{{if $event->container()->allow_comments && $orientation == 'vertical'}}
|
||||
<div class="ipsCommentCount ipsPos_right {{if $event->comments === 0}}ipsFaded{{endif}}" data-ipsTooltip title='{lang="replies_number" pluralize="$event->comments"}'>{expression="$event->comments"}</div>
|
||||
{{endif}}
|
||||
{{if $event->unread()}}<span class="ipsItemStatus ipsItemStatus_tiny"><i class="fa fa-circle"></i></span> <strong>{{endif}}<a href="{$event->url()}" title='{lang="view_this_event" sprintf="$event->title"}'>{$event->title}</a>{{if $event->unread()}}</strong>{{endif}}<br>
|
||||
<div class='ipsType_break ipsContained'>
|
||||
<a href="{$event->url()}" title='{lang="view_this_event" sprintf="$event->title"}'>{$event->title}</a>
|
||||
</div>
|
||||
<strong class='ipsType_small'>
|
||||
{{if $event->nextOccurrence( $today, 'startDate' )}}
|
||||
{$event->nextOccurrence( $today, 'startDate' )->calendarDate()}{{if !$event->all_day}} {$event->nextOccurrence( $today, 'startDate' )->localeTime( FALSE )} {{endif}}
|
||||
@@ -1741,15 +1844,8 @@
|
||||
{{if $event->container()->allow_comments && $orientation == 'horizontal'}}
|
||||
<span class="{{if $event->comments === 0}}ipsFaded{{endif}}" data-ipsTooltip title='{lang="replies_number" pluralize="$event->comments"}'><i class='fa fa-comment'></i> {expression="$event->comments"}</span>
|
||||
{{endif}}
|
||||
{{if $event->rsvp}}
|
||||
{{$attendees = $event->attendees();}}
|
||||
<i class='fa fa-user'></i> {lang="x_users_going" pluralize="count( $attendees[1] )"}
|
||||
{{if isset( $attendees[1][ \IPS\Member::loggedIn()->member_id ] )}}
|
||||
{{if $orientation == 'vertical'}}<br>{{else}} {{endif}}<strong class='ipsType_success'><i class='fa fa-check-circle'></i> {lang="you_are_going"}</strong>
|
||||
{{endif}}
|
||||
{{endif}}
|
||||
{{if $orientation == 'horizontal'}}
|
||||
<div class='ipsType_medium ipsType_richText' data-ipsTruncate data-ipsTruncate-type='remove' data-ipsTruncate-size='2 lines'>
|
||||
<div class='ipsType_medium ipsType_richText' data-ipsTruncate data-ipsTruncate-type='remove' data-ipsTruncate-size='2 lines' data-ipsTruncate-watch='false'>
|
||||
{$event->truncated()|raw}
|
||||
</div>
|
||||
{{endif}}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"31007": "3.1.4",
|
||||
"32000": "3.2.0 Beta 1",
|
||||
"32001": "3.2.0 Beta 2",
|
||||
"32003": "3.2.0",
|
||||
@@ -68,5 +69,79 @@
|
||||
"101009": "4.1.0 Beta 10",
|
||||
"101010": "4.1.0",
|
||||
"101011": "4.1.1",
|
||||
"101012": "4.1.2"
|
||||
"101012": "4.1.2",
|
||||
"101013": "4.1.3",
|
||||
"101014": "4.1.3.1",
|
||||
"101015": "4.1.3.2",
|
||||
"101016": "4.1.4",
|
||||
"101017": "4.1.4.1",
|
||||
"101018": "4.1.5",
|
||||
"101019": "4.1.5.1",
|
||||
"101020": "4.1.5.2",
|
||||
"101021": "4.1.6",
|
||||
"101022": "4.1.6.1",
|
||||
"101023": "4.1.7",
|
||||
"101024": "4.1.8",
|
||||
"101025": "4.1.8.1",
|
||||
"101026": "4.1.9",
|
||||
"101027": "4.1.10",
|
||||
"101028": "4.1.11",
|
||||
"101029": "4.1.11.1",
|
||||
"101030": "4.1.12",
|
||||
"101031": "4.1.12.1",
|
||||
"101032": "4.1.12.2",
|
||||
"101033": "4.1.12.3",
|
||||
"101034": "4.1.13 Beta 1",
|
||||
"101035": "4.1.13 Beta 2",
|
||||
"101036": "4.1.13",
|
||||
"101037": "4.1.13",
|
||||
"101038": "4.1.13.1",
|
||||
"101040": "4.1.13.2",
|
||||
"101041": "4.1.13.2",
|
||||
"101042": "4.1.14 Beta 1",
|
||||
"101043": "4.1.14 Beta 2",
|
||||
"101044": "4.1.14 Beta 3",
|
||||
"101045": "4.1.14 Beta 4",
|
||||
"101046": "4.1.14 Beta 5",
|
||||
"101049": "4.1.14 Beta 6",
|
||||
"101050": "4.1.14 Beta 7",
|
||||
"101051": "4.1.14 RC",
|
||||
"101052": "4.1.14",
|
||||
"101053": "4.1.14.1",
|
||||
"101054": "4.1.14.2",
|
||||
"101055": "4.1.14.3",
|
||||
"101056": "4.1.15",
|
||||
"101057": "4.1.15 Beta 1",
|
||||
"101058": "4.1.15 Beta 2",
|
||||
"101059": "4.1.15 Beta 2a",
|
||||
"101060": "4.1.15 Beta 3",
|
||||
"101061": "4.1.15",
|
||||
"101062": "4.1.15",
|
||||
"101063": "4.1.15",
|
||||
"101064": "4.1.16 Beta 1",
|
||||
"101065": "4.1.16 Beta 2",
|
||||
"101066": "4.1.16 Beta 3",
|
||||
"101067": "4.1.16 Beta 4",
|
||||
"101068": "4.1.16 Beta 5",
|
||||
"101069": "4.1.16",
|
||||
"101070": "4.1.16.1",
|
||||
"101071": "4.1.17 Beta 1",
|
||||
"101072": "4.1.17 Beta 1a",
|
||||
"101073": "4.1.17 Beta 1b",
|
||||
"101074": "4.1.17 Beta 2",
|
||||
"101075": "4.1.17 Beta 3",
|
||||
"101076": "4.1.17 Beta 3",
|
||||
"101077": "4.1.17",
|
||||
"101078": "4.1.17.1",
|
||||
"101079": "4.1.18 Beta 1",
|
||||
"101082": "4.1.18 Beta 1b",
|
||||
"101083": "4.1.18 Beta 2",
|
||||
"101084": "4.1.18 Beta 3",
|
||||
"101085": "4.1.18",
|
||||
"101088": "4.1.18.1",
|
||||
"101089": "4.1.18.2",
|
||||
"101090": "4.1.19 Beta 1",
|
||||
"101091": "4.1.19 Beta 2",
|
||||
"101092": "4.1.19 Beta 3",
|
||||
"101093": "4.1.19"
|
||||
}
|
||||
Reference in new issue
Block a user