init web ems all
This commit is contained in:
56
phpMyAdmin/vendor/twig/extensions/lib/Twig/Extensions/Extension/Array.php
vendored
Executable file
56
phpMyAdmin/vendor/twig/extensions/lib/Twig/Extensions/Extension/Array.php
vendored
Executable file
@@ -0,0 +1,56 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* This file is part of Twig.
|
||||
*
|
||||
* (c) 2009 Fabien Potencier
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @author Ricard Clau <ricard.clau@gmail.com>
|
||||
*/
|
||||
class Twig_Extensions_Extension_Array extends Twig_Extension
|
||||
{
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getFilters()
|
||||
{
|
||||
$filters = array(
|
||||
new Twig_SimpleFilter('shuffle', 'twig_shuffle_filter'),
|
||||
);
|
||||
|
||||
return $filters;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getName()
|
||||
{
|
||||
return 'array';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Shuffles an array.
|
||||
*
|
||||
* @param array|Traversable $array An array
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
function twig_shuffle_filter($array)
|
||||
{
|
||||
if ($array instanceof Traversable) {
|
||||
$array = iterator_to_array($array, false);
|
||||
}
|
||||
|
||||
shuffle($array);
|
||||
|
||||
return $array;
|
||||
}
|
||||
|
||||
class_alias('Twig_Extensions_Extension_Array', 'Twig\Extensions\ArrayExtension', false);
|
||||
107
phpMyAdmin/vendor/twig/extensions/lib/Twig/Extensions/Extension/Date.php
vendored
Executable file
107
phpMyAdmin/vendor/twig/extensions/lib/Twig/Extensions/Extension/Date.php
vendored
Executable file
@@ -0,0 +1,107 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* This file is part of Twig.
|
||||
*
|
||||
* (c) 2014 Fabien Potencier
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
use Symfony\Component\Translation\TranslatorInterface;
|
||||
use Symfony\Component\Translation\IdentityTranslator;
|
||||
|
||||
/**
|
||||
* @author Robin van der Vleuten <robinvdvleuten@gmail.com>
|
||||
*/
|
||||
class Twig_Extensions_Extension_Date extends Twig_Extension
|
||||
{
|
||||
public static $units = array(
|
||||
'y' => 'year',
|
||||
'm' => 'month',
|
||||
'd' => 'day',
|
||||
'h' => 'hour',
|
||||
'i' => 'minute',
|
||||
's' => 'second',
|
||||
);
|
||||
|
||||
/**
|
||||
* @var TranslatorInterface
|
||||
*/
|
||||
private $translator;
|
||||
|
||||
public function __construct(TranslatorInterface $translator = null)
|
||||
{
|
||||
// Ignore the IdentityTranslator, otherwise the parameters won't be replaced properly
|
||||
if ($translator instanceof IdentityTranslator) {
|
||||
$translator = null;
|
||||
}
|
||||
|
||||
$this->translator = $translator;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getFilters()
|
||||
{
|
||||
return array(
|
||||
new Twig_SimpleFilter('time_diff', array($this, 'diff'), array('needs_environment' => true)),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Filter for converting dates to a time ago string like Facebook and Twitter has.
|
||||
*
|
||||
* @param Twig_Environment $env a Twig_Environment instance
|
||||
* @param string|DateTime $date a string or DateTime object to convert
|
||||
* @param string|DateTime $now A string or DateTime object to compare with. If none given, the current time will be used.
|
||||
*
|
||||
* @return string the converted time
|
||||
*/
|
||||
public function diff(Twig_Environment $env, $date, $now = null)
|
||||
{
|
||||
// Convert both dates to DateTime instances.
|
||||
$date = twig_date_converter($env, $date);
|
||||
$now = twig_date_converter($env, $now);
|
||||
|
||||
// Get the difference between the two DateTime objects.
|
||||
$diff = $date->diff($now);
|
||||
|
||||
// Check for each interval if it appears in the $diff object.
|
||||
foreach (self::$units as $attribute => $unit) {
|
||||
$count = $diff->$attribute;
|
||||
|
||||
if (0 !== $count) {
|
||||
return $this->getPluralizedInterval($count, $diff->invert, $unit);
|
||||
}
|
||||
}
|
||||
|
||||
return '';
|
||||
}
|
||||
|
||||
protected function getPluralizedInterval($count, $invert, $unit)
|
||||
{
|
||||
if ($this->translator) {
|
||||
$id = sprintf('diff.%s.%s', $invert ? 'in' : 'ago', $unit);
|
||||
|
||||
return $this->translator->transChoice($id, $count, array('%count%' => $count), 'date');
|
||||
}
|
||||
|
||||
if (1 !== $count) {
|
||||
$unit .= 's';
|
||||
}
|
||||
|
||||
return $invert ? "in $count $unit" : "$count $unit ago";
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getName()
|
||||
{
|
||||
return 'date';
|
||||
}
|
||||
}
|
||||
|
||||
class_alias('Twig_Extensions_Extension_Date', 'Twig\Extensions\DateExtension', false);
|
||||
41
phpMyAdmin/vendor/twig/extensions/lib/Twig/Extensions/Extension/I18n.php
vendored
Executable file
41
phpMyAdmin/vendor/twig/extensions/lib/Twig/Extensions/Extension/I18n.php
vendored
Executable file
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of Twig.
|
||||
*
|
||||
* (c) 2010 Fabien Potencier
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
class Twig_Extensions_Extension_I18n extends Twig_Extension
|
||||
{
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getTokenParsers()
|
||||
{
|
||||
return array(new Twig_Extensions_TokenParser_Trans());
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getFilters()
|
||||
{
|
||||
return array(
|
||||
new Twig_SimpleFilter('trans', 'gettext'),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getName()
|
||||
{
|
||||
return 'i18n';
|
||||
}
|
||||
}
|
||||
|
||||
class_alias('Twig_Extensions_Extension_I18n', 'Twig\Extensions\I18nExtension', false);
|
||||
146
phpMyAdmin/vendor/twig/extensions/lib/Twig/Extensions/Extension/Intl.php
vendored
Executable file
146
phpMyAdmin/vendor/twig/extensions/lib/Twig/Extensions/Extension/Intl.php
vendored
Executable file
@@ -0,0 +1,146 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of Twig.
|
||||
*
|
||||
* (c) 2010 Fabien Potencier
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
class Twig_Extensions_Extension_Intl extends Twig_Extension
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
if (!class_exists('IntlDateFormatter')) {
|
||||
throw new RuntimeException('The native PHP intl extension (http://php.net/manual/en/book.intl.php) is needed to use intl-based filters.');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getFilters()
|
||||
{
|
||||
return array(
|
||||
new Twig_SimpleFilter('localizeddate', 'twig_localized_date_filter', array('needs_environment' => true)),
|
||||
new Twig_SimpleFilter('localizednumber', 'twig_localized_number_filter'),
|
||||
new Twig_SimpleFilter('localizedcurrency', 'twig_localized_currency_filter'),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getName()
|
||||
{
|
||||
return 'intl';
|
||||
}
|
||||
}
|
||||
|
||||
function twig_localized_date_filter(Twig_Environment $env, $date, $dateFormat = 'medium', $timeFormat = 'medium', $locale = null, $timezone = null, $format = null, $calendar = 'gregorian')
|
||||
{
|
||||
$date = twig_date_converter($env, $date, $timezone);
|
||||
|
||||
$formatValues = array(
|
||||
'none' => IntlDateFormatter::NONE,
|
||||
'short' => IntlDateFormatter::SHORT,
|
||||
'medium' => IntlDateFormatter::MEDIUM,
|
||||
'long' => IntlDateFormatter::LONG,
|
||||
'full' => IntlDateFormatter::FULL,
|
||||
);
|
||||
|
||||
if (PHP_VERSION_ID < 50500 || !class_exists('IntlTimeZone')) {
|
||||
$formatter = IntlDateFormatter::create(
|
||||
$locale,
|
||||
$formatValues[$dateFormat],
|
||||
$formatValues[$timeFormat],
|
||||
$date->getTimezone()->getName(),
|
||||
'gregorian' === $calendar ? IntlDateFormatter::GREGORIAN : IntlDateFormatter::TRADITIONAL,
|
||||
$format
|
||||
);
|
||||
|
||||
return $formatter->format($date->getTimestamp());
|
||||
}
|
||||
|
||||
$formatter = IntlDateFormatter::create(
|
||||
$locale,
|
||||
$formatValues[$dateFormat],
|
||||
$formatValues[$timeFormat],
|
||||
IntlTimeZone::createTimeZone($date->getTimezone()->getName()),
|
||||
'gregorian' === $calendar ? IntlDateFormatter::GREGORIAN : IntlDateFormatter::TRADITIONAL,
|
||||
$format
|
||||
);
|
||||
|
||||
return $formatter->format($date->getTimestamp());
|
||||
}
|
||||
|
||||
function twig_localized_number_filter($number, $style = 'decimal', $type = 'default', $locale = null)
|
||||
{
|
||||
static $typeValues = array(
|
||||
'default' => NumberFormatter::TYPE_DEFAULT,
|
||||
'int32' => NumberFormatter::TYPE_INT32,
|
||||
'int64' => NumberFormatter::TYPE_INT64,
|
||||
'double' => NumberFormatter::TYPE_DOUBLE,
|
||||
'currency' => NumberFormatter::TYPE_CURRENCY,
|
||||
);
|
||||
|
||||
$formatter = twig_get_number_formatter($locale, $style);
|
||||
|
||||
if (!isset($typeValues[$type])) {
|
||||
throw new Twig_Error_Syntax(sprintf('The type "%s" does not exist. Known types are: "%s"', $type, implode('", "', array_keys($typeValues))));
|
||||
}
|
||||
|
||||
return $formatter->format($number, $typeValues[$type]);
|
||||
}
|
||||
|
||||
function twig_localized_currency_filter($number, $currency = null, $locale = null)
|
||||
{
|
||||
$formatter = twig_get_number_formatter($locale, 'currency');
|
||||
|
||||
return $formatter->formatCurrency($number, $currency);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a number formatter instance according to given locale and formatter.
|
||||
*
|
||||
* @param string $locale Locale in which the number would be formatted
|
||||
* @param int $style Style of the formatting
|
||||
*
|
||||
* @return NumberFormatter A NumberFormatter instance
|
||||
*/
|
||||
function twig_get_number_formatter($locale, $style)
|
||||
{
|
||||
static $formatter, $currentStyle;
|
||||
|
||||
$locale = null !== $locale ? $locale : Locale::getDefault();
|
||||
|
||||
if ($formatter && $formatter->getLocale() === $locale && $currentStyle === $style) {
|
||||
// Return same instance of NumberFormatter if parameters are the same
|
||||
// to those in previous call
|
||||
return $formatter;
|
||||
}
|
||||
|
||||
static $styleValues = array(
|
||||
'decimal' => NumberFormatter::DECIMAL,
|
||||
'currency' => NumberFormatter::CURRENCY,
|
||||
'percent' => NumberFormatter::PERCENT,
|
||||
'scientific' => NumberFormatter::SCIENTIFIC,
|
||||
'spellout' => NumberFormatter::SPELLOUT,
|
||||
'ordinal' => NumberFormatter::ORDINAL,
|
||||
'duration' => NumberFormatter::DURATION,
|
||||
);
|
||||
|
||||
if (!isset($styleValues[$style])) {
|
||||
throw new Twig_Error_Syntax(sprintf('The style "%s" does not exist. Known styles are: "%s"', $style, implode('", "', array_keys($styleValues))));
|
||||
}
|
||||
|
||||
$currentStyle = $style;
|
||||
|
||||
$formatter = NumberFormatter::create($locale, $styleValues[$style]);
|
||||
|
||||
return $formatter;
|
||||
}
|
||||
|
||||
class_alias('Twig_Extensions_Extension_Intl', 'Twig\Extensions\IntlExtension', false);
|
||||
99
phpMyAdmin/vendor/twig/extensions/lib/Twig/Extensions/Extension/Text.php
vendored
Executable file
99
phpMyAdmin/vendor/twig/extensions/lib/Twig/Extensions/Extension/Text.php
vendored
Executable file
@@ -0,0 +1,99 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* This file is part of Twig.
|
||||
*
|
||||
* (c) 2009 Fabien Potencier
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @author Henrik Bjornskov <hb@peytz.dk>
|
||||
*/
|
||||
class Twig_Extensions_Extension_Text extends Twig_Extension
|
||||
{
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getFilters()
|
||||
{
|
||||
return array(
|
||||
new Twig_SimpleFilter('truncate', 'twig_truncate_filter', array('needs_environment' => true)),
|
||||
new Twig_SimpleFilter('wordwrap', 'twig_wordwrap_filter', array('needs_environment' => true)),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getName()
|
||||
{
|
||||
return 'Text';
|
||||
}
|
||||
}
|
||||
|
||||
if (function_exists('mb_get_info')) {
|
||||
function twig_truncate_filter(Twig_Environment $env, $value, $length = 30, $preserve = false, $separator = '...')
|
||||
{
|
||||
if (mb_strlen($value, $env->getCharset()) > $length) {
|
||||
if ($preserve) {
|
||||
// If breakpoint is on the last word, return the value without separator.
|
||||
if (false === ($breakpoint = mb_strpos($value, ' ', $length, $env->getCharset()))) {
|
||||
return $value;
|
||||
}
|
||||
|
||||
$length = $breakpoint;
|
||||
}
|
||||
|
||||
return rtrim(mb_substr($value, 0, $length, $env->getCharset())).$separator;
|
||||
}
|
||||
|
||||
return $value;
|
||||
}
|
||||
|
||||
function twig_wordwrap_filter(Twig_Environment $env, $value, $length = 80, $separator = "\n", $preserve = false)
|
||||
{
|
||||
$sentences = array();
|
||||
|
||||
$previous = mb_regex_encoding();
|
||||
mb_regex_encoding($env->getCharset());
|
||||
|
||||
$pieces = mb_split($separator, $value);
|
||||
mb_regex_encoding($previous);
|
||||
|
||||
foreach ($pieces as $piece) {
|
||||
while (!$preserve && mb_strlen($piece, $env->getCharset()) > $length) {
|
||||
$sentences[] = mb_substr($piece, 0, $length, $env->getCharset());
|
||||
$piece = mb_substr($piece, $length, 2048, $env->getCharset());
|
||||
}
|
||||
|
||||
$sentences[] = $piece;
|
||||
}
|
||||
|
||||
return implode($separator, $sentences);
|
||||
}
|
||||
} else {
|
||||
function twig_truncate_filter(Twig_Environment $env, $value, $length = 30, $preserve = false, $separator = '...')
|
||||
{
|
||||
if (strlen($value) > $length) {
|
||||
if ($preserve) {
|
||||
if (false !== ($breakpoint = strpos($value, ' ', $length))) {
|
||||
$length = $breakpoint;
|
||||
}
|
||||
}
|
||||
|
||||
return rtrim(substr($value, 0, $length)).$separator;
|
||||
}
|
||||
|
||||
return $value;
|
||||
}
|
||||
|
||||
function twig_wordwrap_filter(Twig_Environment $env, $value, $length = 80, $separator = "\n", $preserve = false)
|
||||
{
|
||||
return wordwrap($value, $length, $separator, !$preserve);
|
||||
}
|
||||
}
|
||||
|
||||
class_alias('Twig_Extensions_Extension_Text', 'Twig\Extensions\TextExtension', false);
|
||||
Reference in New Issue
Block a user