In-Portal Issue Tracker

Welcome to the In-Portal Open Source CMS Issue Tracker! This is a central management / tracking tool for all types of tasks / issues / bugs for the In-Portal Project. Before reporting any issues, please make sure to read the Guide into Issue Tracker and How to Properly Test and Report Bugs!

Dependency Graph View Issue ] Relation Graph ] Vertical ]
related to child of duplicate of

Viewing Issue Simple Details
ID Category Type Reproducibility Date Submitted Last Update
0000453 [In-Portal CMS] Data Management feature request always 2009-12-16 13:53 2010-07-22 15:06
Reporter Dmitry View Status public  
Assigned To alex
Priority normal Resolution fixed  
Status closed      
Summary 0000453: Create new Tag to display language-specific Date parts
Description I propose to create tag for displaying language-specific date parts, like
weekday, month name etc. on site language, not always on english as date
function of php offers.
Additional Information Proposed solution, that needs to be adapted into new tag in kDBTagProcessor:


/**
         * Returns formatted date + time on current language
         *
         * @param string $format
         * @param int $timestamp
         * @param string $case_suffixes
         * @return string
         */
        function LanguageDate($format, $timestamp = false, $case_suffixes =
'')
        {
            if (!$timestamp) $timestamp = adodb_mktime();
            // apply timezone adjustment manually (because we are not using
kDateFormatter)
            $date = $timestamp + $this->Application->TimeZoneAdjustment();

            $replacements = Array (
                'l' => 'la_WeekDay',
                'D' => 'la_WeekDay',
                'M' => 'la_Month',
                'F' => 'la_Month',
            );

            if ($case_suffixes) {
                // apply case suffixes (for russian language only)
                $case_suffixes = explode(',', $case_suffixes);

                foreach ($case_suffixes as $case_suffux) {
                    list ($replacement_name, $case_suffix_value) =
explode('=', $case_suffux, 2);
                    $replacements[$replacement_name] .= $case_suffix_value;
                }
            }

            foreach ($replacements as $format_char => $phrase_prefix) {
                if (strpos($format, $format_char) === false) {
                    unset($replacements[$format_char]);
                    continue;
                }

                $replacements[$format_char] =
$this->Application->Phrase($phrase_prefix . adodb_date($format_char,
$date));
                $format = str_replace($format_char, '#' . ord($format_char)
. '#', $format);
            }

            $date_formatted = adodb_date($format, $date);

            foreach ($replacements as $format_char => $format_replacement) {
                $date_formatted = str_replace('#' . ord($format_char) . '#',
$format_replacement, $date_formatted);
            }

            return $date_formatted;
        }



Web Development by Intechnic
In-Portal Open Source CMS
In-Portal Open Source CMS
Copyright © 2000 - 2009 MantisBT Group

Powered by Mantis Bugtracker