Exemplo n.º 1
0
/**
 * Format the friendly time
 * 
 * @param type $hook
 * @param type $type
 * @param type $return
 * @param type $params
 * @return type
 */
function format_friendlytime($hook, $type, $return, $params)
{
    $language = get_current_language();
    // get our language dependent settings
    $format1 = elgg_get_plugin_setting('format1' . $language, PLUGIN_ID);
    $format1override = elgg_get_plugin_setting('format1override' . $language, PLUGIN_ID);
    $format2 = elgg_get_plugin_setting('format2' . $language, PLUGIN_ID);
    $format2override = elgg_get_plugin_setting('format2override' . $language, PLUGIN_ID);
    $breaktime = (int) elgg_get_plugin_setting('breaktime' . $language, PLUGIN_ID);
    $offset = (int) elgg_get_plugin_setting('offset' . $language, PLUGIN_ID);
    // use regular time for elgg default, modtime otherwise
    $time = $params['time'];
    $modtime = $time + 60 * 60 * $offset;
    $format = 1;
    if (!empty($breaktime) && $params['time'] < time() - 60 * 60 * $breaktime) {
        $format = 2;
    }
    if ($format == 1) {
        if (empty($format1override)) {
            $check = $format1;
        } else {
            return translate_friendlytime($format1override, $modtime);
        }
    }
    if ($format == 2) {
        if (empty($format2override)) {
            $check = $format2;
        } else {
            return translate_friendlytime($format2override, $modtime);
        }
    }
    // nothing set, keep as elgg default
    if (empty($check)) {
        $check = 1;
    }
    switch ($check) {
        case 1:
            // default, leave $return alone
            break;
        case 2:
            $return = elgg_echo('flexible_friendlytime:format:1', array(translate_friendlytime('M j, Y', $modtime), translate_friendlytime('g:ia', $modtime)));
            break;
        default:
            $return = translate_friendlytime($check, $modtime);
            break;
    }
    return $return;
}
Exemplo n.º 2
0
<?php

namespace Beck24\FlexibleFriendlyTime;

$languages = get_installed_translations();
foreach ($languages as $language => $label) {
    ?>
	<div style="padding: 10px; margin: 15px; border: 2px solid #343434">
	<h1><?php 
    echo elgg_echo('flexible_friendlytime:language:settings', array($label));
    ?>
</h1>
	<br><br>
  <?php 
    $options_values = array(1 => elgg_echo('flexible_friendlytime:elgg:default'), 2 => elgg_echo('flexible_friendlytime:format:1', array(translate_friendlytime('M j, Y'), translate_friendlytime('g:ia'))), 'Y-m-d H:i' => translate_friendlytime('Y-m-d H:i'), 'm/d/Y - H:i' => translate_friendlytime('m/d/Y - H:i'), 'd/m/Y - H:i' => translate_friendlytime('d/m/Y - H:i'), 'Y/m/d - H:i' => translate_friendlytime('Y/m/d - H:i'), 'd.m.Y - H:i' => translate_friendlytime('d.m.Y - H:i'), 'm/d/Y - g:ia' => translate_friendlytime('m/d/Y - g:ia'), 'd/m/Y - g:ia' => translate_friendlytime('d/m/Y - g:ia'), 'Y/m/d - g:ia' => translate_friendlytime('Y/m/d - g:ia'), 'M j Y - H:i' => translate_friendlytime('M j Y - H:i'), 'j M Y - H:i' => translate_friendlytime('j M Y - H:i'), 'Y M j - H:i' => translate_friendlytime('Y M j - H:i'), 'M j Y - g:ia' => translate_friendlytime('M j Y - g:ia'), 'j M Y - g:ia' => translate_friendlytime('j M Y - g:ia'), 'Y M j - g:ia' => translate_friendlytime('Y M j - g:ia'), 'D, Y-m-d H:i' => translate_friendlytime('D, Y-m-d H:i'), 'D, m/d/Y - H:i' => translate_friendlytime('D, m/d/Y - H:i'), 'D, d/m/Y - H:i' => translate_friendlytime('D, d/m/Y - H:i'), 'D, Y/m/d - H:i' => translate_friendlytime('D, Y/m/d - H:i'), 'F j, Y - H:i' => translate_friendlytime('F j, Y - H:i'), 'j F, Y - H:i' => translate_friendlytime('j F, Y - H:i'), 'Y, F j - H:i' => translate_friendlytime('Y, F j - H:i'), 'D, m/d/Y - g:ia' => translate_friendlytime('D, m/d/Y - g:ia'), 'D, d/m/Y - g:ia' => translate_friendlytime('D, d/m/Y - g:ia'), 'D, Y/m/d - g:ia' => translate_friendlytime('D, Y/m/d - g:ia'), 'F j, Y - g:ia' => translate_friendlytime('F j, Y - g:ia'), 'j F Y - g:ia' => translate_friendlytime('j F Y - g:ia'), 'Y, F j - g:ia' => translate_friendlytime('Y, F j - g:ia'), 'j. F Y - G:i' => translate_friendlytime('j. F Y - G:i'), 'l, F j, Y - H:i' => translate_friendlytime('l, F j, Y - H:i'), 'l, j F, Y - H:i' => translate_friendlytime('l, j F, Y - H:i'), 'l, Y,  F j - H:i' => translate_friendlytime('l, Y,  F j - H:i'), 'l, F j, Y - g:ia' => translate_friendlytime('l, F j, Y - g:ia'), 'l, j F Y - g:ia' => translate_friendlytime('l, j F Y - g:ia'), 'l, Y,  F j - g:ia' => translate_friendlytime('l, Y,  F j - g:ia'), 'l, j. F Y - G:i' => translate_friendlytime('l, j. F Y - G:i'));
    echo "<label>" . elgg_echo('flexible_friendlytime:label:format1') . "</label><br>";
    $field = 'format1' . $language;
    $params = array('name' => 'params[format1' . $language . ']', 'value' => !empty($vars['entity']->{$field}) ? $vars['entity']->{$field} : 1, 'options_values' => $options_values);
    echo elgg_view('input/dropdown', $params);
    echo "&nbsp;&nbsp;&nbsp;&nbsp;";
    $field = 'format1override' . $language;
    echo elgg_echo('flexible_friendlytime:label:format:override', array('<a href="http://php.net/manual/en/function.date.php" target="_blank">date()</a>')) . ": ";
    echo elgg_view('input/text', array('name' => 'params[format1override' . $language . ']', 'value' => $vars['entity']->{$field}, 'style' => 'width: 80px;'));
    echo "<br><br>";
    $field = 'breaktime' . $language;
    echo "<label>" . elgg_echo('flexible_friendlytime:label:breaktime') . "</label><br>";
    echo "x = " . elgg_view('input/text', array('name' => 'params[breaktime' . $language . ']', 'value' => $vars['entity']->{$field}, 'style' => 'width: 80px;'));
    echo "<br><br>";
    echo "<label>" . elgg_echo('flexible_friendlytime:label:format2') . "</label><br>";
    $field = 'format2' . $language;
    $params['name'] = 'params[format2' . $language . ']';