Seditio Source
Root |
./othercms/elxis_5.3_atlas_rev2452/includes/libraries/elxis/date/el.date.php
<?php
/**
* @version        $Id: el.date.php 19 2011-01-18 19:13:58Z datahell $
* @package        Elxis
* @subpackage    Date
* @copyright    Copyright (c) 2006-2011 Elxis CMS (http://www.elxis.org). All rights reserved.
* @license        Elxis Public License ( http://www.elxis.org/elxis-public-license.html )
* @author        Elxis Team ( http://www.elxis.org )
* @description     Elxis CMS is free software. Read the license for copyright notices and details
*
* ---- THIS FILE MUST BE ENCODED AS UTF-8! ----
*
*/

defined('_ELXIS_') or die ('Direct access to this location is not allowed');


class
elxisDateel implements elxisLocalDate {


   
/*********************/
    /* MAGIC CONSTRUCTOR */
    /*********************/
   
public function __construct() {
    }


   
/******************************/
    /* LANGUAGE SPECIFIC STRFTIME */
    /******************************/
   
public function local_strftime($format, $ts) {
        if (
strpos($format, '%a') !== false) {
           
$format = str_replace('%a', $this->greekDayName(gmdate('w', $ts), true), $format);
        }
        if (
strpos($format, '%A') !== false) {
           
$format = str_replace('%A', $this->greekDayName(gmdate('w', $ts), false), $format);
        }
        if (
strpos($format, '%b') !== false) {
           
$format = str_replace('%b', $this->greekMonthName(gmdate('n', $ts), true), $format);
        }
        if (
strpos($format, '%B') !== false) {
           
$format = str_replace('%B', $this->greekMonthName(gmdate('n', $ts), false), $format);
        }
       
$date = strftime($format, $ts);
        return
$date;
    }


   
/*************************************************/
    /* CONVERT LOCAL DATETIME (Y-m-d H:i:s) TO ELXIS */
    /*************************************************/
   
public function local_to_elxis($date, $offset) {
        if (
$offset == 0) { return $date; }
       
$modstr = ($offset > 0) ? '-'.$offset.' seconds' : '+'.abs($offset).' seconds';
       
$datetime = new DateTime($date);
       
$datetime->modify($modstr);
        return
$datetime->format('Y-m-d H:i:s');
    }


   
/*************************************************/
    /* CONVERT ELXIS DATETIME (Y-m-d H:i:s) TO LOCAL */
    /*************************************************/
   
public function elxis_to_local($date, $offset) {
        if (
$offset == 0) { return $date; }
       
$modstr = ($offset > 0) ? '+'.$offset.' seconds' : $offset.' seconds';
       
$datetime = new DateTime($date);
       
$datetime->modify($modstr);
        return
$datetime->format('Y-m-d H:i:s');
    }


   
/*****************************/
    /* GET FULL/SHORT MONTH NAME */
    /*****************************/
   
private function greekMonthName($month, $short=false) {
       
$eLang = eFactory::getLang();
        switch (
intval($month)) {
            case
1: return $short ? $eLang->get('JANUARY_SHORT') : 'Ιανουαρίου'; break;
            case
2: return $short ? $eLang->get('FEBRUARY_SHORT') : 'Φεβρουαρίου'; break;
            case
3: return $short ? $eLang->get('MARCH_SHORT') : 'Μαρτίου'; break;
            case
4: return $short ? $eLang->get('APRIL_SHORT') : 'Απριλίου'; break;
            case
5: return $short ? $eLang->get('MAY_SHORT') : 'Μαϊου'; break;
            case
6: return $short ? $eLang->get('JUNE_SHORT') : 'Ιουνίου'; break;
            case
7: return $short ? $eLang->get('JULY_SHORT') : 'Ιουλίου'; break;
            case
8: return $short ? $eLang->get('AUGUST_SHORT') : 'Αυγούστου'; break;
            case
9: return $short ? $eLang->get('SEPTEMBER_SHORT') : 'Σεπτεμβρίου'; break;
            case
10: return $short ? $eLang->get('OCTOBER_SHORT') : 'Οκτωβρίου'; break;
            case
11: return $short ? $eLang->get('NOVEMBER_SHORT') : 'Νοεμβρίου'; break;
            case
12: return $short ? $eLang->get('DECEMBER_SHORT') : 'Δεκεμβρίου'; break;
            default: return
''; break;
        }
    }


   
/***************************/
    /* GET FULL/SHORT DAY NAME */
    /***************************/
   
private function greekDayName($day, $short=false) {
       
$eLang = eFactory::getLang();
        switch (
intval($day)) {
            case
0: return $short ? $eLang->get('SUNDAY_SHORT') : $eLang->get('SUNDAY'); break;
            case
1: return $short ? $eLang->get('MONDAY_SHORT') : $eLang->get('MONDAY'); break;
            case
2: return $short ? $eLang->get('THUESDAY_SHORT') : $eLang->get('THUESDAY'); break;
            case
3: return $short ? $eLang->get('WEDNESDAY_SHORT') : $eLang->get('WEDNESDAY'); break;
            case
4: return $short ? $eLang->get('THURSDAY_SHORT') : $eLang->get('THURSDAY'); break;
            case
5: return $short ? $eLang->get('FRIDAY_SHORT') : $eLang->get('FRIDAY'); break;
            case
6: return $short ? $eLang->get('SATURDAY_SHORT') : $eLang->get('SATURDAY'); break;
            default: return
''; break;
        }
    }

}

?>