Проблема нашла свое решение.
Calendar Base берет эти названия из локали на сервере. Поэтому есть два варианта, поменять значения в локали, но это черевато большими проблемами, либо переписать сами функции плагина которые выдают даты. Я пошел вторым путем, изменил функции в файле /cal/res/PEAR/Date/Calc.php там нужно поменять всего две функции по сути. Так как названия дней недели берутся то правильно, просто их обрезание делается с ошибкой(когда отображаются укороченные названия дней недели). В первой функции
PHP код:
function getMonthNames()
{
$months = array();
$months[1] = "Январь";
$months[2] = "Февраль";
$months[3] = "Март";
$months[4] = "Апрель";
$months[5] = "Май";
$months[6] = "Июнь";
$months[7] = "Июль";
$months[8] = "Август";
$months[9] = "Сентябрь";
$months[10] = "Октябрь";
$months[11] = "Ноябрь";
$months[12] = "Декабрь";
// for ($i = 1; $i < 13; $i++) {
// $months[$i] = strftime('%B', mktime(0, 0, 0, $i, 1, 2001));
// }
return $months;
}
Здесь закоменчено то что нужно убрать(то что было в исходном файле).
Вторая функция:
PHP код:
function getWeekDays()
{
$weekdays = array();
$weekdays[1] = "Понедельник";
$weekdays[2] = "Вторник";
$weekdays[3] = "Среда";
$weekdays[4] = "Четверг";
$weekdays[5] = "Пятница";
$weekdays[6] = "Суббота";
$weekdays[0] = "Воскресенье";
// for ($i = 0; $i < 7; $i++) {
// $weekdays[$i] = strftime('%A', mktime(0, 0, 0, 1, $i, 2001));
// }
return $weekdays;
}
Это можно не делать, так как из локали берутся правильные названия дней недели, но я добавил чтобы дни недели были с большой буквы.
Третья функция:
PHP код:
function getWeekdayAbbrname($day = 0, $month = 0, $year = 0, $length = 3)
{
if (empty($year)) {
$year = Date_Calc::dateNow('%Y');
}
if (empty($month)) {
$month = Date_Calc::dateNow('%m');
}
if (empty($day)) {
$day = Date_Calc::dateNow('%d');
}
switch(Date_Calc::getWeekdayFullname($day, $month, $year)) {
case 'Понедельник':
return 'Пн';
break;
case 'Вторник':
return 'Вт';
break;
case 'Среда':
return 'Ср';
break;
case 'Четверг':
return 'Чт';
break;
case 'Пятница':
return 'Пт';
break;
case 'Суббота':
return 'Сб';
break;
case 'Воскресенье':
return 'Вс';
break;
default:
return substr(Date_Calc::getWeekdayFullname($day, $month, $year),0, 4);
}
}
Это как раз для того чтобы сокращенные названия дней недели выводились корректно.