function views_natural_sort_days_of_the_week_sort_days in Views Natural Sort 7.2
Simply convert days of the week over to numbers.
This "should" be multilingual safe.
Parameters
string $string: The string we are transforming days to numbers in.
Return value
string The transformed string.
3 calls to views_natural_sort_days_of_the_week_sort_days()
- ViewsNaturalSortDaysOfTheWeekTest::testAbbreviations in ./
views_natural_sort.test - Test sorting day abbreviations.
- ViewsNaturalSortDaysOfTheWeekTest::testDefaultDayReplace in ./
views_natural_sort.test - Test tranformation functionality of the days of the week transformation.
- ViewsNaturalSortDaysOfTheWeekTest::testFirstDayMonday in ./
views_natural_sort.test - Test changing the first day of the week.
1 string reference to 'views_natural_sort_days_of_the_week_sort_days'
- views_natural_sort_get_transformations in ./
views_natural_sort.module - Get the full list of transformations to run when saving a natural sort entry.
File
- ./
views_natural_sort.inc, line 169 - The Views Natural Sort module include file.
Code
function views_natural_sort_days_of_the_week_sort_days($string) {
global $language;
// Adding a configuration so that in the future an admin page can be made
// to switch which day is the first day of the week based on local.
$used_language = isset($language->language) ? $language->language : 'en';
$first_day = variable_get('views_natural_sort_days_of_the_week_first_day_' . $used_language, "Sunday");
$day_list = views_natural_sort_days_of_the_week_get_default_days();
$sorted_days = $day_list;
// Go through list and resort it and Translate it.
$start = array_search($first_day, $day_list);
for ($i = 0; $i < 7; $i++) {
$current_day = ($i + $start) % 7;
$abbreviations = views_natural_sort_days_of_the_week_get_acceptable_day_abbreviations($day_list[$current_day], $used_language);
$translated_day = t('@day', array(
'@day' => $day_list[$current_day],
));
$string = preg_replace(array(
'/\\b' . $translated_day . '\\b/i',
'/\\b(' . implode('\\.?|', views_natural_sort_days_of_the_week_get_acceptable_day_abbreviations($day_list[$current_day])) . ')\\b/i',
), ' ' . $i . ' ', $string);
}
return $string;
}