aDriv4 - MANAGER
Edit File: views_handler_argument_dates_various.inc
<?php /** * @file * Definition of views_handler_argument_node_created_fulldate. */ /** * Argument handler for a full date (CCYYMMDD). */ class views_handler_argument_node_created_fulldate extends views_handler_argument_date { /** * {@inheritdoc} */ public function construct() { parent::construct(); $this->format = 'F j, Y'; $this->arg_format = 'Ymd'; $this->formula = views_date_sql_format($this->arg_format, "***table***.$this->real_field"); } /** * Provide a link to the next level of the view. */ public function summary_name($data) { $created = $data->{$this->name_alias}; return format_date(strtotime($created . " 00:00:00 UTC"), 'custom', $this->format, 'UTC'); } /** * Provide a link to the next level of the view. */ public function title() { $timestamp = strtotime($this->argument . " 00:00:00 UTC"); if ($timestamp !== FALSE) { return format_date($timestamp, 'custom', $this->format, 'UTC'); } } } /** * Argument handler for a year (CCYY). */ class views_handler_argument_node_created_year extends views_handler_argument_date { /** * {@inheritdoc} */ public function construct() { parent::construct(); $this->arg_format = 'Y'; $this->formula = views_date_sql_extract('YEAR', "***table***.$this->real_field"); } } /** * Argument handler for a year plus month (CCYYMM). */ class views_handler_argument_node_created_year_month extends views_handler_argument_date { /** * {@inheritdoc} */ public function construct() { parent::construct(); $this->format = 'F Y'; $this->arg_format = 'Ym'; $this->formula = views_date_sql_format($this->arg_format, "***table***.$this->real_field"); } /** * Provide a link to the next level of the view */ public function summary_name($data) { $created = $data->{$this->name_alias}; return format_date(strtotime($created . "15" . " 00:00:00 UTC"), 'custom', $this->format, 'UTC'); } /** * Provide a link to the next level of the view */ public function title() { $timestamp = strtotime($this->argument . "15" . " 00:00:00 UTC"); if ($timestamp !== FALSE) { return format_date($timestamp, 'custom', $this->format, 'UTC'); } } } /** * Argument handler for a month (MM). */ class views_handler_argument_node_created_month extends views_handler_argument_date { /** * {@inheritdoc} */ public function construct() { parent::construct(); $this->formula = views_date_sql_extract('MONTH', "***table***.$this->real_field"); $this->format = 'F'; $this->arg_format = 'm'; } /** * Provide a link to the next level of the view */ public function summary_name($data) { $month = str_pad($data->{$this->name_alias}, 2, '0', STR_PAD_LEFT); return format_date(strtotime("2005" . $month . "15" . " 00:00:00 UTC" ), 'custom', $this->format, 'UTC'); } /** * Provide a link to the next level of the view */ public function title() { $month = str_pad($this->argument, 2, '0', STR_PAD_LEFT); $timestamp = strtotime("2005" . $month . "15" . " 00:00:00 UTC"); if ($timestamp !== FALSE) { return format_date($timestamp, 'custom', $this->format, 'UTC'); } } /** * {@inheritdoc} */ public function summary_argument($data) { // Make sure the argument contains leading zeroes. return str_pad($data->{$this->base_alias}, 2, '0', STR_PAD_LEFT); } } /** * Argument handler for a day (DD). */ class views_handler_argument_node_created_day extends views_handler_argument_date { /** * {@inheritdoc} */ public function construct() { parent::construct(); $this->formula = views_date_sql_extract('DAY', "***table***.$this->real_field"); $this->format = 'j'; $this->arg_format = 'd'; } /** * Provide a link to the next level of the view. */ public function summary_name($data) { $day = str_pad($data->{$this->name_alias}, 2, '0', STR_PAD_LEFT); // strtotime() respects server timezone, so we need to set the time fixed // as UTC time. return format_date(strtotime("2005" . "05" . $day . " 00:00:00 UTC"), 'custom', $this->format, 'UTC'); } /** * Provide a link to the next level of the view. */ public function title() { $day = str_pad($this->argument, 2, '0', STR_PAD_LEFT); $timestamp = strtotime("2005" . "05" . $day . " 00:00:00 UTC"); if ($timestamp !== FALSE) { return format_date($timestamp, 'custom', $this->format, 'UTC'); } } /** * {@inheritdoc} */ public function summary_argument($data) { // Make sure the argument contains leading zeroes. return str_pad($data->{$this->base_alias}, 2, '0', STR_PAD_LEFT); } } /** * Argument handler for a week. */ class views_handler_argument_node_created_week extends views_handler_argument_date { /** * {@inheritdoc} */ public function construct() { parent::construct(); $this->arg_format = 'w'; $this->formula = views_date_sql_extract('WEEK', "***table***.$this->real_field"); } /** * Provide a link to the next level of the view. */ public function summary_name($data) { $created = $data->{$this->name_alias}; return t('Week @week', array('@week' => $created)); } }