/** * 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; }
<?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 " "; $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 . ']';