/** * formValidation * * @param string $selector * @param array $options * * @return void */ public static function formValidation($selector = '#admin-form', $options = array()) { if (!static::inited(__METHOD__)) { static::core(); static::addJS(static::phoenixName() . '/js/string/punycode.min.js'); static::addJS(static::phoenixName() . '/js/phoenix/validation.min.js'); } if (!static::inited(__METHOD__, get_defined_vars())) { $defaultOptions = array('scroll' => array('enabled' => true, 'offset' => -100, 'duration' => 1000)); $options = static::getJSObject(ArrayHelper::merge($defaultOptions, $options)); static::translate('phoenix.message.validation.required'); static::translate('phoenix.message.validation.failure'); $js = <<<JS // Chosen select jQuery(document).ready(function(\$) { \t\$('{$selector}').validation({$options}); }); JS; static::internalJS($js); } }
<?php /** * Part of Windwalker project. * * @copyright Copyright (C) 2016 {ORGANIZATION}. All rights reserved. * @license GNU General Public License version 2 or later. */ use Windwalker\Utilities\ArrayHelper; /* * Windwalker Web Config * ------------------------------------- * Things you config here will be used in web environment. */ return ArrayHelper::merge(include __DIR__ . '/windwalker.php', ['packages' => [], 'providers' => [], 'routing' => ['files' => ['web' => WINDWALKER_ETC . '/routing.yml']], 'middlewares' => [], 'configs' => [], 'listeners' => [500 => \Windwalker\Listener\SystemListener::class], 'error' => ['handlers' => ['log' => \Windwalker\Core\Error\Handler\ErrorLogHandler::class]]]);
/** * highlight * * @param string $selector * @param string $text * @param array $options * * @see http://bartaz.github.io/sandbox.js/jquery.highlight.html * * @return void */ public static function highlight($selector = null, $text = null, $options = array()) { $args = get_defined_vars(); $asset = static::getAsset(); if (!static::inited(__METHOD__)) { JQueryScript::core(); $asset->addScript(static::phoenixName() . '/js/jquery/jquery.highlight.js'); } if (!static::inited(__METHOD__, $args) && $selector && $text) { if (is_array($text)) { $text = implode(' ', $text); } $defaultOptions = array('element' => 'mark', 'className' => 'phoenix-highlight'); $options = $asset::getJSObject(ArrayHelper::merge($defaultOptions, $options)); $js = <<<JS // Highlight Text jQuery(document).ready(function(\$) { \t\$('{$selector}').highlight('{$text}', {$options}); }); JS; $asset->internalScript($js); } }
/** * Method to test merge * * @covers \Windwalker\Utilities\ArrayHelper::merge * * @return void */ public function testMerge() { $data1 = array('green' => 'Hulk', 'red' => 'empty', 'human' => array('dark' => 'empty', 'black' => array('male' => 'empty', 'female' => 'empty', 'no-gender' => 'empty'))); $data2 = array('ai' => 'Jarvis', 'agent' => 'Phil Coulson', 'red' => array('left' => 'Pepper', 'right' => 'Iron Man'), 'human' => array('dark' => 'Nick Fury', 'black' => array('female' => 'Black Widow', 'male' => 'Loki'))); $expected = array('ai' => 'Jarvis', 'agent' => 'Phil Coulson', 'green' => 'Hulk', 'red' => array('left' => 'Pepper', 'right' => 'Iron Man'), 'human' => array('dark' => 'Nick Fury', 'black' => array('male' => 'Loki', 'female' => 'Black Widow', 'no-gender' => 'empty'))); $expected2 = array('ai' => 'Jarvis', 'agent' => 'Phil Coulson', 'green' => 'Hulk', 'red' => array('left' => 'Pepper', 'right' => 'Iron Man'), 'human' => array('dark' => 'Nick Fury', 'black' => array('male' => 'Loki', 'female' => 'Black Widow'))); $this->assertEquals($expected, ArrayHelper::merge($data1, $data2)); $this->assertEquals($expected2, ArrayHelper::merge($data1, $data2, false)); }
<?php /** * Part of Windwalker project. * * @copyright Copyright (C) 2016 {ORGANIZATION}. All rights reserved. * @license GNU General Public License version 2 or later. */ use Windwalker\Utilities\ArrayHelper; /* * Windwalker Web Dev Config * ------------------------------------- * Things you config here will be used in web environment with dev mode. */ return ArrayHelper::merge(include __DIR__ . '/web.php', ['packages' => ['_debugger' => \Windwalker\Debugger\DebuggerPackage::class], 'providers' => ['whoops' => \Windwalker\Core\Provider\WhoopsProvider::class], 'routing' => ['files' => ['dev' => WINDWALKER_ETC . '/dev/routing.yml']], 'middlewares' => [], 'configs' => [200 => WINDWALKER_ETC . '/dev/config.yml'], 'listeners' => []]);
<?php /** * Part of Windwalker project. * * @copyright Copyright (C) 2016 {ORGANIZATION}. All rights reserved. * @license GNU General Public License version 2 or later. */ use Windwalker\Utilities\ArrayHelper; /* * Windwalker Console Config * ------------------------------------- * Things you config here will be used in console environment. */ return ArrayHelper::merge(include __DIR__ . '/windwalker.php', ['packages' => ['system' => \Windwalker\SystemPackage\SystemPackage::class], 'providers' => [], 'console' => ['commands' => []], 'configs' => [], 'listeners' => []]);
<?php /** * Part of Windwalker project. * * @copyright Copyright (C) 2016 {ORGANIZATION}. All rights reserved. * @license GNU General Public License version 2 or later. */ use Windwalker\Utilities\ArrayHelper; /* * Windwalker Web Dev Config * ------------------------------------- * Things you config here will be used in web environment with dev mode. */ return ArrayHelper::merge(include __DIR__ . '/web.php', ['packages' => [], 'providers' => ['error' => false], 'routing' => ['files' => []], 'middlewares' => [], 'configs' => [200 => WINDWALKER_ETC . '/dev/config.yml'], 'listeners' => []]);