コード例 #1
0
 /**
  * Overrides base format function, formats this date according to its available granularity,
  * unless $force'ed not to limit to granularity.
  *
  * @TODO Incorporate translation into this so translated names will be provided.
  */
 public function format($format, $force = FALSE)
 {
     return parent::format($force ? $format : date_limit_format($format, $this->granularity));
 }
コード例 #2
0
ファイル: date.api.php プロジェクト: siberlee526/faa7419db
/**
 * Alter the date_combo element after the Date module is finished with it.
 *
 * @param array $element
 *   The $element array.
 * @param array $form_state
 *   A keyed array containing the current state of the form.
 * @param array $context
 *   An associative array containing the following keys:
 *   - field: The $field array.
 *   - instance: The $instance array.
 *   - form: Nested array of form elements that comprise the form.
 */
function hook_date_combo_process_alter(&$element, &$form_state, $context)
{
    $field = $context['field'];
    $instance = $context['instance'];
    $field_name = $element['#field_name'];
    $delta = $element['#delta'];
    // Add a date repeat form element, if needed.
    // We delayed until this point so we don't bother adding it to hidden fields.
    if (date_is_repeat_field($field, $instance)) {
        $item = $element['#value'];
        $element['rrule'] = array('#type' => 'date_repeat_rrule', '#theme_wrappers' => array('date_repeat_rrule'), '#default_value' => isset($item['rrule']) ? $item['rrule'] : '', '#date_timezone' => $element['#date_timezone'], '#date_format' => date_limit_format(date_input_format($element, $field, $instance), $field['settings']['granularity']), '#date_text_parts' => (array) $instance['widget']['settings']['text_parts'], '#date_increment' => $instance['widget']['settings']['increment'], '#date_year_range' => $instance['widget']['settings']['year_range'], '#date_label_position' => $instance['widget']['settings']['label_position'], '#prev_value' => isset($item['value']) ? $item['value'] : '', '#prev_value2' => isset($item['value2']) ? $item['value2'] : '', '#prev_rrule' => isset($item['rrule']) ? $item['rrule'] : '', '#date_repeat_widget' => str_replace('_repeat', '', $instance['widget']['type']), '#date_repeat_collapsed' => $instance['widget']['settings']['repeat_collapsed'], '#date_flexible' => 0, '#weight' => $instance['widget']['weight'] + 0.4);
    }
}
コード例 #3
0
ファイル: template.php プロジェクト: justinlundy/SenateDrupal
function nys_date_all_day($which, $date1, $date2, $format, $node, $view = NULL)
{
    if (empty($date1) || !is_object($date1)) {
        return '';
    }
    if (empty($date2)) {
        $date2 = $date1;
    }
    $granularity = array_pop(date_format_order($format));
    switch ($granularity) {
        case 'second':
            $max_comp = date_format($date2, 'H:i:s') == '23:59:59';
            break;
        case 'minute':
            $max_comp = date_format($date2, 'H:i') == '23:59';
            break;
        case 'hour':
            $max_comp = date_format($date2, 'H') == '23';
            break;
        default:
            $max_comp = FALSE;
    }
    // Time runs from midnight to the maximum time -- call it 'All day'.
    if (date_format($date1, 'H:i:s') == '00:00:00' && $max_comp) {
        $format = date_limit_format($format, array('year', 'month', 'day'));
        return trim(date_format_date(${$which}, 'custom', $format) . ' ' . theme('date_all_day_label'));
    } elseif (date_format($date1, 'H:i:s') == '00:00:00' && date_format($date2, 'H:i:s') == '00:00:00') {
        $format = date_limit_format($format, array('year', 'month', 'day'));
        return date_format_date(${$which}, 'custom', $format);
    } else {
        return date_format_date(${$which}, 'custom', 'M. d');
    }
}