/** * Publishes and registers the necessary script files. */ protected function registerClientScript() { $assets = Booster::getBooster()->cs; $assets->registerPackage('highcharts'); $baseUrl = $assets->packages['highcharts']['baseUrl']; $this->options = CMap::mergeArray(array('exporting' => array('enabled' => true)), $this->options); if (isset($this->options['exporting']) && @$this->options['exporting']['enabled']) { $assets->registerScriptFile($baseUrl . '/modules/exporting.js'); } if (isset($this->options['theme'])) { $assets->registerScriptFile($baseUrl . '/themes/' . $this->options['theme'] . '.js'); } $options = CJavaScript::encode($this->options); $assets->registerScript(__CLASS__ . '#' . $this->getId(), "var highchart{$this->getId()} = new Highcharts.Chart({$options});"); }
/** *### .init() * * Initializes the widget. */ public function init() { parent::init(); $booster = Booster::getBooster(); $popover = $booster->popoverSelector; $tooltip = $booster->tooltipSelector; $afterAjaxUpdate = "js:function() {\n\t\t\tjQuery('.popover').remove();\n\t\t\tjQuery('{$popover}').popover();\n\t\t\tjQuery('.tooltip').remove();\n\t\t\tjQuery('{$tooltip}').tooltip();\n\t\t}"; if (!isset($this->afterAjaxUpdate)) { $this->afterAjaxUpdate = $afterAjaxUpdate; } }
/** * @test * @dataProvider BootstrapCssFilenames * * @param $cdn * @param $responsive * @param $fontawesome * @param $mincss * @param $expected_filename */ public function UsesBootstrapCssDependingOnSwitches($cdn, $responsive, $fontawesome, $mincss, $expected_filename) { $component = new Booster(); $component->_assetsUrl = 'assets'; $component->cs = new AssetsRegistryHook(); $component->enableCdn = $cdn; $component->responsiveCss = $responsive; $component->fontAwesomeCss = $fontawesome; $component->minify = $mincss; $component->init(); $component->registerBootstrapCss(); $this->assertTrue($component->cs->hasRegisteredCssFile($expected_filename)); }
/** * Crée un formatter (objet qui va manipuler le résultat XML filtré et créer le résultat sous la forme voulue : XML ou ICS). * Cette méthode n'est pas terrible, elle devrait être fusionnée avec creeBooster(). */ public static function creeFormatter($type, Booster $booster) { $formatter = null; switch ($type) { case self::$ICAL: $icsData = self::getFile("/web/publi/etu/" . $booster->getResource() . ".ics"); $formatter = new ICal($icsData); break; default: $formatter = new XMLCal(); break; } return $formatter; }
/** *### .init() * * Initializes the widget. */ public function init() { parent::init(); $classes = array('table'); if (isset($this->type)) { if (is_string($this->type)) { $this->type = explode(' ', $this->type); } if (!empty($this->type)) { $validTypes = array(self::TYPE_STRIPED, self::TYPE_BORDERED, self::TYPE_CONDENSED, self::TYPE_HOVER); foreach ($this->type as $type) { if (in_array($type, $validTypes)) { $classes[] = 'table-' . $type; } } } } if (!empty($classes)) { $classes = implode(' ', $classes); if (isset($this->itemsCssClass)) { $this->itemsCssClass .= ' ' . $classes; } else { $this->itemsCssClass = $classes; } } $booster = Booster::getBooster(); $popover = $booster->popoverSelector; $tooltip = $booster->tooltipSelector; $afterAjaxUpdate = "js:function() {\n\t\t\tjQuery('.popover').remove();\n\t\t\tjQuery('{$popover}').popover();\n\t\t\tjQuery('.tooltip').remove();\n\t\t\tjQuery('{$tooltip}').tooltip();\n\t\t}"; if (!isset($this->afterAjaxUpdate)) { $this->afterAjaxUpdate = $afterAjaxUpdate; } }
/** *### .renderHeaderCellContent() * * Renders the header cell content. * This method will render a link that can trigger the sorting if the column is sortable. */ protected function renderHeaderCellContent() { if ($this->grid->enableSorting && $this->sortable && $this->name !== null) { $sort = $this->grid->dataProvider->getSort(); $label = isset($this->header) ? $this->header : $sort->resolveLabel($this->name); $booster = Booster::getBooster(); if ($sort->resolveAttribute($this->name) !== false) { $label .= ' <span class="caret"></span>'; } /* { if($sort->getDirection($this->name) === CSort::SORT_ASC){ $label .= ' <span class="'.($booster->fontAwesomeCss ? 'fa fa-sort-asc' : 'icon-chevron-down').'"></span>'; } elseif($sort->getDirection($this->name) === CSort::SORT_DESC){ $label .= ' <span class="'.($booster->fontAwesomeCss ? 'fa fa-sort-desc' : 'icon-chevron-up').'"></span>'; } else { $label .= ' '; } } */ echo $sort->link($this->name, $label, array('class' => 'sort-link')); } else { if ($this->name !== null && $this->header === null) { if ($this->grid->dataProvider instanceof CActiveDataProvider) { echo CHtml::encode($this->grid->dataProvider->model->getAttributeLabel($this->name)); } else { echo CHtml::encode($this->name); } } else { parent::renderHeaderCellContent(); } } }
/** *### .registerClientScript() * * Registers required client script for chosen. It is not used through bootstrap->registerPlugin * in order to attach events if any */ public function registerClientScript($id) { Booster::getBooster()->registerPackage('chosen'); $options = !empty($this->options) ? CJavaScript::encode($this->options) : ''; ob_start(); echo "\$('#{$id}').chosen({$options})"; Yii::app()->getClientScript()->registerScript(__CLASS__ . '#' . $this->getId(), ob_get_clean() . ';'); }
/** * Register required script files */ public function registerClientScript() { $booster = Booster::getBooster(); $booster->registerPackage('markdown'); $id = $this->htmlOptions['id']; $options = CJSON::encode($this->options); Yii::app()->clientScript->registerScript(__CLASS__ . '#' . $id, "\n\t\t\t\$('#{$id}').markdown({$options})\n\t\t\t", CClientScript::POS_END); }
/** * Register required script files * * @param integer $id */ public function registerClientScript($id) { $booster = Booster::getBooster(); $booster->registerAssetCss('markdown.editor.css'); $booster->registerAssetJs('markdown.converter.js', CClientScript::POS_HEAD); $booster->registerAssetJs('markdown.sanitizer.js', CClientScript::POS_HEAD); $booster->registerAssetJs('markdown.editor.js', CClientScript::POS_HEAD); Yii::app()->clientScript->registerScript($id, "var converter = Markdown.getSanitizingConverter();\n\t\t\tvar editor = new Markdown.Editor(converter, '" . $id . "');\n\t\t\teditor.run();", CClientScript::POS_END); }
/** * */ public function init() { Booster::getBooster()->registerPackage('ui-layout'); if (!is_array($this->options)) { $this->options = array(); } if (!is_array($this->htmlOptions)) { $this->htmlOptions = array(); } }
/** *### .registerClientScript() * * Registers required * * @param string $id */ public function registerClientScript($id) { Booster::getBooster()->cs->registerPackage('colorpicker'); $options = !empty($this->format) ? CJavaScript::encode(array('format' => $this->format)) : ''; ob_start(); echo "jQuery('#{$id}').colorpicker({$options})"; foreach ($this->events as $event => $handler) { echo ".on('{$event}', " . CJavaScript::encode($handler) . ")"; } Yii::app()->getClientScript()->registerScript(__CLASS__ . '#' . $this->getId(), ob_get_clean() . ';'); }
/** * Registers required client script for bootstrap select2. It is not used through bootstrap->registerPlugin * in order to attach events if any * @param $id * @throws CException */ public function registerClientScript($id) { Booster::getBooster()->registerPackage('select2'); if (empty($this->options['language']) && empty($this->htmlOptions['lang'])) { $this->options['language'] = Yii::app()->language; } if (!empty($this->value) || $this->value === 0 || $this->value === '0') { if (is_array($this->value)) { $value = CJSON::encode($this->value); } else { $value = '"' . $this->value . '"'; } //trigger maybe removed $defValue = ".val({$value}).trigger('change')"; } else { $defValue = ''; } if ($this->disabled) { $defValue .= ".prop('disabled', true)"; } $options = CJavaScript::encode($this->options); ob_start(); echo "jQuery('select#{$id}').select2({$options});"; if (!empty($defValue)) { echo "jQuery('select#{$id}')" . $defValue . ';'; } if (count($this->events) > 0) { echo "jQuery('select#{$id}')"; foreach ($this->events as $event => $handler) { echo ".on('{$event}', " . CJavaScript::encode($handler) . ")"; } echo ';'; } if (!empty($this->initialData)) { $data = CJavaScript::encode($this->initialData); $js = <<<JS var data = {$data}; if(!\$.isArray(data)) { \tdata = [data]; } \$.each(data, function(index, value){ \tvar option = \$("<option selected></option>").val(value.id).data('data',value); \t\$('select#{$id}').append(option); }); \$('select#{$id}').trigger('change'); JS; echo $js; } Yii::app()->getClientScript()->registerScript(__CLASS__ . '#' . $this->getId(), ob_get_clean()); }
public function registerLanguageScript() { $booster = Booster::getBooster(); if (isset($this->options['language']) && $this->options['language'] != 'en') { $filename = '/bootstrap-datepicker/js/locales/bootstrap-datepicker.' . $this->options['language'] . '.js'; if (file_exists(Yii::getPathOfAlias('booster.assets') . $filename)) { if ($booster->enableCdn) { Yii::app()->clientScript->registerScriptFile('//cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.2.0/js/locales/bootstrap-datepicker.' . $this->options['language'] . '.js', CClientScript::POS_HEAD); } else { $booster->cs->registerScriptFile($booster->getAssetsUrl() . $filename, CClientScript::POS_HEAD); } } } }
/** * Registers required css and js files * * @param integer $id the id of the toggle button */ protected function registerClientScript($id) { $booster = Booster::getBooster(); $booster->registerPackage('switch'); $config = CJavaScript::encode($this->options); ob_start(); echo "\$('#{$id}').bootstrapSwitch({$config})"; foreach ($this->events as $event => $handler) { $event = $event . '.bootstrapSwitch'; if (!$handler instanceof CJavaScriptExpression && strpos($handler, 'js:') === 0) { $handler = new CJavaScriptExpression($handler); } echo ".on('{$event}', " . $handler . ")"; } Yii::app()->clientScript->registerScript(__CLASS__ . '#' . $this->getId(), ob_get_clean() . ';'); }
public function init() { $booster = Booster::getBooster(); $booster->registerAssetCss('bootstrap-image-gallery' . (!YII_DEBUG ? '.min' : '') . '.css'); $booster->registerAssetJs('fileupload/load-image.min.js'); $booster->registerAssetJs('bootstrap-image-gallery' . (!YII_DEBUG ? '.min' : '') . '.js'); if ($this->fullScreen) { Yii::app()->clientScript->registerScript($this->id, 'jQuery("#' . $this->id . '").addClass("modal-fullscreen");', CClientScript::POS_READY); } if (!$this->eventListener) { Yii::app()->clientScript->registerScript($this->id, '$(document.body).off(".modal-gallery.data-api");'); } if (!isset($this->htmlOptions['id'])) { $this->htmlOptions['id'] = $this->id; } echo CHtml::openTag('div', CMap::mergeArray(self::$defaultHtmlOptions, $this->htmlOptions)); }
/** * Registers required * * @param integer $id */ public function registerClientScript($id) { $booster = Booster::getBooster(); $booster->registerAssetJs('bootstrap-modalmanager.js', CClientScript::POS_HEAD); $booster->registerAssetCss('bootstrap-modalmanager.css'); $options = !empty($this->format) ? CJavaScript::encode(array('format' => $this->format)) : ''; ob_start(); echo "jQuery('#{$id}').modalmanager({$options})"; foreach ($this->events as $event => $handler) { echo ".on('{$event}', " . CJavaScript::encode($handler) . ")"; } Yii::app()->getClientScript()->registerScript(__CLASS__ . '#' . $this->getId(), ob_get_clean() . ';'); foreach ($this->events as $name => $handler) { $handler = CJavaScript::encode($handler); Yii::app()->getClientScript()->registerScript(__CLASS__ . '#' . $id . '_' . $name, "jQuery('#{$id}').on('{$name}', {$handler});"); } }
/** * Publishes and registers the necessary script files. */ protected function registerClientScript() { $assets = Booster::getBooster()->cs; $assets->registerCss(__CLASS__ . '#sidebar-toggle', ' #' . $this->wrapper . '.toggled #' . $this->sidebar . ' { width: 0px; } #' . $this->wrapper . '.toggled #' . $this->content . ' { width: 100%; margin-left: 0px; } '); $assets->registerScript(__CLASS__ . '#sidebar-toggle', ' $("#sidebar-toggle").click(function(){ $("#' . $this->wrapper . '").toggleClass("toggled"); }); ', CClientScript::POS_LOAD); }
function registerClientScript() { $booster = Booster::getBooster(); $booster->registerPackage('typeahead'); if (empty($this->datasets) || !isset($this->datasets['source']) || !is_array($this->datasets['source'])) { return; } Yii::app()->clientScript->registerScript(__CLASS__ . '#substringMatcher', ' var substringMatcher = function(strs) { return function findMatches(q, cb) { var matches, substringRegex; // an array that will be populated with substring matches matches = []; // regex used to determine if a string contains the substring `q` substrRegex = new RegExp(q, "i"); // iterate through the pool of strings and for any string that // contains the substring `q`, add it to the `matches` array $.each(strs, function(i, str) { if (substrRegex.test(str)) { // the typeahead jQuery plugin expects suggestions to a // JavaScript object, refer to typeahead docs for more info matches.push({ value: str }); } }); cb(matches); }; }; ', CClientScript::POS_HEAD); $source_list = !empty($this->options) ? CJavaScript::encode($this->datasets['source']) : ''; Yii::app()->clientScript->registerScript(__CLASS__ . '#source_list#' . $this->id, ' var _' . $this->id . '_source_list = ' . $source_list . '; ', CClientScript::POS_HEAD); }
/** * Register required script files */ public function registerClientScript() { $assets = Booster::getBooster()->cs; $assets->registerPackage('redactor'); $baseUrl = $assets->packages['redactor']['baseUrl']; // Prepend language file to scripts package. if ($this->editorOptions['lang'] != 'en') { $assets->registerScriptFile($baseUrl . '/lang/' . $this->editorOptions['lang'] . '.js'); } if (isset($this->editorOptions['plugins'])) { foreach ($this->editorOptions['plugins'] as $name) { $filepath = Yii::getPathOfAlias('booster.assets.redactor.plugins') . '/' . $name . '/' . $name; $url = $baseUrl . '/plugins/' . $name . '/' . $name; if (file_exists($filepath . '.css')) { $assets->registerCssFile($url . '.css'); } if (file_exists($filepath . '.js')) { $assets->registerScriptFile($url . '.js'); } } } $options = $this->editorOptions ? CJavaScript::encode($this->editorOptions) : ''; $assets->registerScript(uniqid(__CLASS__ . '#', true), "jQuery('{$this->selector}').redactor({$options});"); }
protected function make_booster($id, $set, $user) { return Booster::make_for_set($set, $id); }
/** *### .registerClientScript() * * Registers required client script for bootstrap select2. * It is not used through bootstrap->registerPlugin * in order to attach events if any * * @param string $id */ public function registerClientScript($id) { $booster = Booster::getBooster(); $booster->registerPackage('bootstrap-tags'); $options = !empty($this->options) ? CJavaScript::encode($this->options) : ''; Yii::app()->getClientScript()->registerScript(__CLASS__ . '#' . $this->getId(), "jQuery('#tags_{$id}').tags({$options});"); }
public function __construct() { parent::__construct("g146447", array("anglais" => "concerneMonGroupeAnglais")); }
public function registerLanguageScript() { if (isset($this->options['language']) && $this->options['language'] != 'en') { $file = 'locales/bootstrap-datetimepicker.' . $this->options['language'] . '.js'; $booster = Booster::getBooster(); if (@file_exists(Yii::getPathOfAlias('booster.assets.bootstrap-datetimepicker') . '/js/' . $file)) { if ($booster->enableCdn) { // Not in CDN yet $booster->registerAssetJs('../bootstrap-datetimepicker/' . '/js/' . $file); } else { $booster->registerAssetJs('../bootstrap-datetimepicker/' . '/js/' . $file); } } } }
public function __construct() { parent::__construct("g146448", array("anglais" => "concerneMonGroupeAnglais", "communication" => "filterComm")); }
public function __construct() { parent::__construct("g146256"); }
/** * @return Bootstrap * @since 2.1.0 */ public static function getBooster() { if (null === self::$_instance) { // Lets find inside current module $module = Yii::app()->getController()->getModule(); if ($module) { if ($module->hasComponent('booster')) { self::$_instance = $module->getComponent('booster'); } } // Still nothing? if (null === self::$_instance) { if (Yii::app()->hasComponent('booster')) { self::$_instance = Yii::app()->getComponent('booster'); } } } return self::$_instance; }
/** *### .registerClientScript() * * Registers required javascript * * @param string $id */ public function registerClientScript($id) { Booster::getBooster()->cs->registerPackage('ckeditor'); $options = !empty($this->editorOptions) ? CJavaScript::encode($this->editorOptions) : '{}'; Yii::app()->clientScript->registerScript(__CLASS__ . '#' . $this->getId(), "CKEDITOR.replace( '{$id}', {$options});"); }
public function registerAssets() { $booster = Booster::getBooster(); if ($this->type == 'date' || $this->type == 'combodate') { /** * @var $widget TbDatePicker */ $widget = Yii::app()->widgetFactory->createWidget($this->getOwner(), 'booster.widgets.TbDatePicker', array('options' => isset($this->options['datepicker']) ? $this->options['datepicker'] : array())); $widget->registerLanguageScript(); } elseif ($this->type == 'datetime') { $booster->registerPackage('datetimepicker'); /** * @var $widget TbDateTimePicker */ $widget = Yii::app()->widgetFactory->createWidget($this->getOwner(), 'booster.widgets.TbDateTimePicker', array('options' => $this->options['datetimepicker'])); $widget->registerLanguageScript(); } if ($this->type == 'combodate') { // include moment.js if needed $booster->registerPackage('moment'); } elseif ($this->type == 'select2') { // include select2 if needed $booster->registerPackage('select2'); } $booster->registerPackage('x-editable'); return; /* TODO original */ $am = Yii::app()->getAssetManager(); $cs = Yii::app()->getClientScript(); $form = yii::app()->editable->form; $mode = $this->mode ? $this->mode : yii::app()->editable->defaults['mode']; // bootstrap if ($form === EditableConfig::FORM_BOOTSTRAP) { if ($bootstrap = yii::app()->getComponent('bootstrap')) { $bootstrap->registerCoreCss(); $bootstrap->registerCoreScripts(); } else { throw new CException('You need to setup Yii-bootstrap extension first.'); } $assetsUrl = $am->publish(Yii::getPathOfAlias('editable.assets.bootstrap-editable')); $js = 'bootstrap-editable.js'; $css = 'bootstrap-editable.css'; // jqueryui } elseif ($form === EditableConfig::FORM_JQUERYUI) { if ($mode === EditableConfig::POPUP && Yii::getVersion() < '1.1.13') { throw new CException('jQuery UI editable popup supported from Yii 1.1.13+'); } // register jquery ui $this->registerJQueryUI(); $assetsUrl = $am->publish(Yii::getPathOfAlias('editable.assets.jqueryui-editable')); $js = 'jqueryui-editable.js'; $css = 'jqueryui-editable.css'; // plain jQuery } else { $assetsUrl = $am->publish(Yii::getPathOfAlias('editable.assets.jquery-editable')); $js = 'jquery-editable-poshytip.js'; $css = 'jquery-editable.css'; // publish & register poshytip for popup version if ($mode === EditableConfig::POPUP) { $poshytipUrl = $am->publish(Yii::getPathOfAlias('editable.assets.poshytip')); $cs->registerScriptFile($poshytipUrl . '/jquery.poshytip.js'); $cs->registerCssFile($poshytipUrl . '/tip-yellowsimple/tip-yellowsimple.css'); } // register jquery ui for datepicker if ($this->type == 'date' || $this->type == 'dateui') { $this->registerJQueryUI(); } } // register assets $cs->registerCssFile($assetsUrl . '/css/' . $css); $cs->registerScriptFile($assetsUrl . '/js/' . $js, CClientScript::POS_END); // include moment.js for combodate if ($this->type == 'combodate') { $momentUrl = $am->publish(Yii::getPathOfAlias('editable.assets.moment')); $cs->registerScriptFile($momentUrl . '/moment.min.js'); } // include select2 lib for select2 type if ($this->type == 'select2') { $select2Url = $am->publish(Yii::getPathOfAlias('editable.assets.select2')); $cs->registerScriptFile($select2Url . '/select2.min.js'); $cs->registerCssFile($select2Url . '/select2.css'); } // include bootstrap-datetimepicker if ($this->type == 'datetime') { $url = $am->publish(Yii::getPathOfAlias('editable.assets.bootstrap-datetimepicker')); $cs->registerScriptFile($url . '/js/bootstrap-datetimepicker.js'); $cs->registerCssFile($url . '/css/datetimepicker.css'); } // TODO: include locale for datepicker // may be do it manually? /* * if ($this->type == 'date' && $this->language && substr($this->language, 0, 2) != 'en') { * //todo: check compare dp locale name with yii's * $localesUrl = Yii::app()->getAssetManager()->publish(Yii::getPathOfAlias('ext.editable.assets.js.locales')); * Yii::app()->clientScript->registerScriptFile($localesUrl . '/bootstrap-datepicker.'. str_replace('_', '-', $this->language).'.js', CClientScript::POS_END); * } */ }
* CSS-JS-BOOSTER * Copyright (C) 2009 Christian "Schepp" Schaefer * http://twitter.com/derSchepp * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published * by the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program. * If not, see <http://www.gnu.org/licenses/lgpl-3.0.txt> * ------------------------------------------------------------------------*/ header("Cache-Control: max-age=2592000"); header("Expires: " . gmdate('D, d M Y H:i:s', mktime(date('h') + 24 * 30)) . " GMT"); header("Content-type: text/javascript"); include 'booster_inc.php'; isset($_GET['dir']) ? $dir = rtrim(preg_replace('/[^a-zA-Z0-9,\\.\\/]/', '', $_GET['dir']), '/') : ($dir = 'js'); isset($_GET['totalparts']) ? $totalparts = intval($_GET['totalparts']) : ($totalparts = 1); isset($_GET['part']) ? $part = intval($_GET['part']) : ($part = 0); $booster = new Booster(); $booster->js_dir = $dir; $booster->js_totalparts = $totalparts; $booster->js_part = $part; echo $booster->js();
public function generate() { parent::generate(); $shifted = Booster::get_cards('TST'); if (empty($shifted)) { Grabber::get_set('TST', true); $shifted = Booster::get_cards('TST'); } $shifted = current($shifted); $key = array_rand($shifted); $id = $shifted[$key]; $this->insert_card($id); $this->ids[] = $id; return $this->ids; }