public function render()
 {
     $htmlOptions = $this->getHtmlOptions();
     $request = Yii::app()->getRequest();
     if ($request->enableCsrfValidation && isset($htmlOptions['csrf']) && $htmlOptions['csrf']) {
         $htmlOptions['params'][$request->csrfTokenName] = $request->getCsrfToken();
     }
     if (isset($htmlOptions['params'])) {
         $params = CJavaScript::encode($htmlOptions['params']);
         unset($htmlOptions['params']);
     } else {
         $params = '{}';
     }
     if (isset($htmlOptions['class'])) {
         $htmlOptions['class'] .= ' z-button';
     } else {
         $htmlOptions['class'] = 'z-button';
     }
     $cs = Yii::app()->getClientScript();
     $cs->registerCoreScript('jquery');
     $cs->registerCoreScript('yii');
     $handler = "jQuery.yii.submitForm(this, '', {$params}); return false;";
     if (isset($htmlOptions['onclick'])) {
         $htmlOptions['onclick'] = $htmlOptions['onclick'] . $handler;
     } else {
         $htmlOptions['onclick'] = $handler;
     }
     $aContent = ZurmoHtml::tag('span', array('class' => 'z-spinner'), null);
     $aContent .= ZurmoHtml::tag('span', array('class' => 'z-icon'), null);
     $aContent .= ZurmoHtml::tag('span', array('class' => 'z-label'), $this->getLabel());
     return ZurmoHtml::link($aContent, '#', $htmlOptions);
 }
Exemple #2
0
 /**
  * Runs the widget.
  */
 public function run()
 {
     $id = $this->id;
     echo CHtml::openTag('div', $this->htmlOptions);
     echo '<div class="carousel-inner">';
     $this->renderItems($this->items);
     echo '</div>';
     echo '<a class="carousel-control left" href="#' . $id . '" data-slide="prev">' . $this->prev . '</a>';
     echo '<a class="carousel-control right" href="#' . $id . '" data-slide="next">' . $this->next . '</a>';
     echo '</div>';
     /** @var CClientScript $cs */
     $cs = Yii::app()->getClientScript();
     $options = !empty($this->options) ? CJavaScript::encode($this->options) : '';
     $cs->registerScript(__CLASS__ . '#' . $id, "jQuery('#{$id}').carousel({$options});");
     // Register the "slide" event-handler.
     if (isset($this->events['slide'])) {
         $fn = CJavaScript::encode($this->events['slide']);
         $cs->registerScript(__CLASS__ . '#' . $id . '.slide', "jQuery('#{$id}').on('slide', {$fn});");
     }
     // Register the "slid" event-handler.
     if (isset($this->events['slid'])) {
         $fn = CJavaScript::encode($this->events['slid']);
         $cs->registerScript(__CLASS__ . '#' . $id . '.slid', "jQuery('#{$id}').on('slid', {$fn});");
     }
 }
Exemple #3
0
 /**
  * Runs the widget.
  */
 public function run()
 {
     $id = $this->id;
     echo '</div>';
     /** @var CClientScript $cs */
     $cs = Yii::app()->getClientScript();
     $options = CJavaScript::encode($this->options);
     $cs->registerScript(__CLASS__ . '#' . $id, "jQuery('#{$id}').modal({$options});");
     // Register the "show" event-handler.
     if (isset($this->events['show'])) {
         $fn = CJavaScript::encode($this->events['show']);
         $cs->registerScript(__CLASS__ . '#' . $id . '.show', "jQuery('#{$id}').on('show', {$fn});");
     }
     // Register the "shown" event-handler.
     if (isset($this->events['shown'])) {
         $fn = CJavaScript::encode($this->events['shown']);
         $cs->registerScript(__CLASS__ . '#' . $id . '.shown', "jQuery('#{$id}').on('shown', {$fn});");
     }
     // Register the "hide" event-handler.
     if (isset($this->events['hide'])) {
         $fn = CJavaScript::encode($this->events['hide']);
         $cs->registerScript(__CLASS__ . '#' . $id . '.hide', "jQuery('#{$id}').on('hide', {$fn});");
     }
     // Register the "hidden" event-handler.
     if (isset($this->events['hidden'])) {
         $fn = CJavaScript::encode($this->events['hidden']);
         $cs->registerScript(__CLASS__ . '#' . $id . '.hidden', "jQuery('#{$id}').on('hidden', {$fn});");
     }
 }
 private function buildInifiniteScrollOptions()
 {
     $options = array_merge($this->_options, $this->_default_options);
     $options = array_filter($options);
     $options = CJavaScript::encode($options);
     return $options;
 }
Exemple #5
0
 public function run()
 {
     if (empty($this->config['action'])) {
         throw new CException('EAjaxUpload: param "action" cannot be empty.');
     }
     if (empty($this->config['allowedExtensions'])) {
         throw new CException('EAjaxUpload: param "allowedExtensions" cannot be empty.');
     }
     if (empty($this->config['sizeLimit'])) {
         throw new CException('EAjaxUpload: param "sizeLimit" cannot be empty.');
     }
     unset($this->config['element']);
     echo '<div id="' . $this->id . '"><noscript><p>Habilite Jva Script en este navegador para usar esta funcion .</p></noscript></div>';
     $assets = dirname(__FILE__) . '/assets';
     $baseUrl = Yii::app()->assetManager->publish($assets);
     Yii::app()->clientScript->registerScriptFile($baseUrl . '/fileuploader.js', CClientScript::POS_HEAD);
     $this->css = !empty($this->css) ? $this->css : $baseUrl . '/fileuploader.css';
     Yii::app()->clientScript->registerCssFile($this->css);
     $postParams = array('PHPSESSID' => session_id(), 'YII_CSRF_TOKEN' => Yii::app()->request->csrfToken);
     if (isset($this->postParams)) {
         $postParams = array_merge($postParams, $this->postParams);
     }
     $config = array('element' => 'js:document.getElementById("' . $this->id . '")', 'debug' => false, 'multiple' => false);
     $config = array_merge($config, $this->config);
     $config['params'] = $postParams;
     $config = CJavaScript::encode($config);
     Yii::app()->getClientScript()->registerScript("FileUploader_" . $this->id, "var FileUploader_" . $this->id . " = new qq.FileUploader({$config}); ", CClientScript::POS_LOAD);
 }
    public function getFileBrowserCallback()
    {
        $connectorUrl = $this->settings['url'];
        $id = $this->getId();
        $settings = array_merge(array('places' => "", 'rememberLastDir' => false), $this->settings);
        $settings['dialog'] = array('zIndex' => 400001, 'width' => 900, 'modal' => true, 'title' => "Files");
        $settings['editorCallback'] = 'js:function(url) {
                        aWin.document.getElementById(field_name).value = url;
                        if (type == "image" && aFieldName=="src" && aWin.ImageDialog.showPreviewImage)
                            aWin.ImageDialog.showPreviewImage(url);
                    }';
        $settings['closeOnEditorCallback'] = true;
        $settings = CJavaScript::encode($settings);
        $script = <<<JS
        function(field_name, url, type, win) {
            var aFieldName = field_name, aWin = win;
            var el = \$("#{$id}");
            if(el.length == 0) {
                el = \$("<div/>").attr("id", "{$id}");
                \$("body").append(el);
                el.elfinder({$settings});
                //place it above tinymce dialogue
                el[0].elfinder.dialog.closest('.ui-dialog').css({'z-index':4000001});
            }
            else {
                el.elfinder("open","{$connectorUrl}");
            }
        }
JS;
        return 'js:' . $script;
    }
Exemple #7
0
 public function run()
 {
     if (empty($this->config['action'])) {
         throw new CException('EAjaxUpload: param "action" cannot be empty.');
     }
     if (empty($this->config['allowedExtensions'])) {
         throw new CException('EAjaxUpload: param "allowedExtensions" cannot be empty.');
     }
     if (empty($this->config['sizeLimit'])) {
         throw new CException('EAjaxUpload: param "sizeLimit" cannot be empty.');
     }
     unset($this->config['element']);
     echo '<div id="' . $this->id . '"><noscript><p>Для того, что бы воспользоваться плагином, включите javascript</p></noscript></div>';
     $assets = dirname(__FILE__) . '/assets';
     $baseUrl = Yii::app()->assetManager->publish($assets);
     Yii::app()->clientScript->registerScriptFile($baseUrl . '/fileuploader.js', CClientScript::POS_HEAD);
     $this->css = !empty($this->css) ? $this->css : $baseUrl . '/fileuploader.css';
     Yii::app()->clientScript->registerCssFile($this->css);
     $postParams = array('PHPSESSID' => session_id(), 'YII_CSRF_TOKEN' => Yii::app()->request->csrfToken);
     if (isset($this->postParams)) {
         $postParams = array_merge($postParams, $this->postParams);
     }
     $config = array('element' => 'js:document.getElementById("' . $this->id . '")', 'debug' => false, 'multiple' => true);
     $config = array_merge($config, $this->config);
     $config['params'] = $postParams;
     $config = CJavaScript::encode($config);
     echo "<script type = 'text/javascript'>var FileUploader_" . $this->id . " = new qq.FileUploader({$config}); </script>";
     echo '<div class = "b-file_upload_error_message" id = "j-error_message"></div>';
 }
 public function run()
 {
     list($this->name, $this->id) = $this->resolveNameId();
     if (isset($this->htmlOptions['placeholder'])) {
         $this->options['placeholder'] = $this->htmlOptions['placeholder'];
     }
     $data = array();
     if (isset($this->options['placeholder'])) {
         $data[''] = '';
     }
     $this->data = $data + $this->data;
     if ($this->hasModel()) {
         echo CHtml::activeDropDownList($this->model, $this->attribute, $this->data, $this->htmlOptions);
     } else {
         $this->htmlOptions['id'] = $this->id;
         echo CHtml::dropDownList($this->name, $this->value, $this->data, $this->htmlOptions);
     }
     $bu = Yii::app()->assetManager->publish(dirname(__FILE__) . '/assets/');
     $cs = Yii::app()->clientScript;
     $cs->registerCssFile($bu . '/select2.css');
     if ($this->scriptPosition === null) {
         $this->scriptPosition = $cs->coreScriptPosition;
     }
     $cs->registerScriptFile($bu . '/select2.js', $this->scriptPosition);
     $options = $this->options ? CJavaScript::encode($this->options) : '';
     $cs->registerScript(__CLASS__ . '#' . $this->id, "\$('#{$this->id}').select2({$options});");
 }
 /**
  * Runs the widget.
  */
 public function run()
 {
     list($name, $id) = $this->resolveNameID();
     $id = $this->resolveId($id);
     if ($this->hasModel()) {
         echo TbHtml::activeTextField($this->model, $this->attribute, $this->htmlOptions);
     } else {
         echo TbHtml::textField($name, $this->value, $this->htmlOptions);
     }
     if ($this->assetPath !== false) {
         $this->publishAssets($this->assetPath);
         $this->registerCssFile('/css/bootstrap-datetimepicker.css');
         if ($this->registerJs) {
             $this->registerScriptFile('/js/' . $this->resolveScriptVersion('bootstrap-datetimepicker.js'), CClientScript::POS_END);
             if (isset($this->locale)) {
                 $this->locale = str_replace('_', '-', $this->locale);
                 $this->registerScriptFile("/js/locales/bootstrap-datetimepicker.{$this->locale}.js", CClientScript::POS_END);
             }
         }
     }
     if ($this->bindPlugin) {
         $options = !empty($this->pluginOptions) ? CJavaScript::encode($this->pluginOptions) : '';
         $this->getClientScript()->registerScript(__CLASS__ . '#' . $id, "jQuery('#{$id}').datetimepicker({$options});");
     }
 }
Exemple #10
0
 public function renderButton($button, $name, $config, $id, &$js)
 {
     $output = '';
     $buttonCssClass = 'cms-icon-' . $config['iconSize'] . '-' . $button['icon'];
     if ($button['click']) {
         $js .= "\$('#{$id}_{$name}').click(" . CJavaScript::encode($button['click']) . ");\n";
     }
     $output .= '<li id="' . $id . '_' . $name . '_li" class="' . $button['cssClass'] . '">';
     $output .= '<a id="' . $id . '_' . $name . '"
             title="' . $button['title'] . '" href="#">';
     if (isset($button['checked'])) {
         $output .= '<input ';
         if ($button['checked']) {
             $output .= ' checked="checked" ';
         }
         $output .= 'type="checkbox" id="' . $id . '_' . $name . '_checkbox" /><label for="' . $id . '_' . $name . '_checkbox">';
     }
     if ($config['showIcons']) {
         $output .= '<span class="' . $buttonCssClass . '"></span>';
     }
     if ($config['showTitles']) {
         $output .= $button['title'];
     }
     if (isset($button['checked'])) {
         $output .= '</label>';
     }
     $output .= '</a>';
     $output .= '</li>';
     return $output;
 }
 protected function registerFiles()
 {
     $assetsDir = (defined(__DIR__) ? __DIR__ : dirname(__FILE__)) . '/assets';
     $assets = Yii::app()->assetManager->publish($assetsDir);
     $ext = defined('YII_DEBUG') ? 'js' : 'min.js';
     $cs = Yii::app()->clientScript;
     $cs->registerCoreScript('jquery');
     $cs->registerScriptFile($assets . '/fullcalendar/jalali.js');
     $cs->registerScriptFile($assets . '/fullcalendar/fullcalendar.' . $ext);
     $cs->registerScriptFile($assets . '/fullcalendar/jquery-ui-1.8.23.custom.min.js');
     /* $cs->registerCssFile($assets.'/fullcalendar/fullcalendar.css'); */
     $cs->registerCssFile($assets . '/fullcalendar/fullcalendar_theme.css');
     if ($this->loadPrintCss) {
         $cs->registerCssFile($assets . '/fullcalendar/fullcalendar.print.css');
     }
     if ($this->googleCalendarUrl) {
         $cs->registerScriptFile($assets . '/fullcalendar/gcal.js');
         $this->options['events'] = $this->googleCalendarUrl;
     }
     if ($this->themeCssFile) {
         $this->options['theme'] = true;
         $cs->registerCssFile($assets . '/themes/' . $this->themeCssFile);
     }
     $BootBoxBaseUrl = Yii::app()->getAssetManager()->publish(Yii::getPathOfAlias('ext.bootbox'));
     $cs->registerScriptFile($BootBoxBaseUrl . '/bootstrap.bootbox.min.js');
     $js = 'var ' . $this->id . ' = $("#' . $this->id . '").fullCalendar(' . CJavaScript::encode($this->options) . ');';
     $cs->registerScript(__CLASS__ . '#' . $this->id, $js, CClientScript::POS_READY);
 }
Exemple #12
0
 /**
  * Runs the widget.
  */
 public function run()
 {
     $id = $this->id;
     if (is_string($this->keys)) {
         $this->keys = array($this->keys);
     }
     echo CHtml::openTag('div', $this->htmlOptions);
     foreach ($this->keys as $key) {
         if (Yii::app()->user->hasFlash($key)) {
             echo strtr($this->template, array('{class}' => ' fade in', '{key}' => $key, '{message}' => Yii::app()->user->getFlash($key)));
         }
     }
     echo '</div>';
     /** @var CClientScript $cs */
     $cs = Yii::app()->getClientScript();
     $selector = "#{$id} .alert";
     $cs->registerScript(__CLASS__ . '#' . $id, "jQuery('{$selector}').alert();");
     // Register the "close" event-handler.
     if (isset($this->events['close'])) {
         $fn = CJavaScript::encode($this->events['close']);
         $cs->registerScript(__CLASS__ . '#' . $id . '.close', "jQuery('{$selector}').bind('close', {$fn});");
     }
     // Register the "closed" event-handler.
     if (isset($this->events['closed'])) {
         $fn = CJavaScript::encode($this->events['closed']);
         $cs->registerScript(__CLASS__ . '#' . $id . '.closed', "jQuery('{$selector}').bind('closed', {$fn});");
     }
 }
Exemple #13
0
 public function run()
 {
 	$this->editorOptions = array_merge($this->editorOptions, $this->defaultOptions);
 	
     list($name, $id) = $this->resolveNameID();
     
     // Publishing assets.
     $dir = dirname(__FILE__);
     $assets = Yii::app()->getAssetManager()->publish($dir.DIRECTORY_SEPARATOR.'assets');
     $this->editorOptions['script_url'] = $assets.'/tiny_mce.js';
     
     // Registering javascript.
     $cs = Yii::app()->getClientScript();
     $cs->registerCoreScript('jquery');
     $cs->registerScriptFile($assets.'/jquery.tinymce.js');
     $cs->registerScriptFile($assets.'/plugins/tinybrowser/tb_tinymce.js.php');
     
     $cs->registerScript(
         'Yii.'.get_class($this).'#'.$id,
         '$(function(){$("#'.$id.'").tinymce('.CJavaScript::encode($this->editorOptions).');});'
     );
     
     $this->htmlOptions['id'] = $id;
     
     if($this->hasModel())
         $html = CHtml::activeTextArea($this->model, $this->attribute, $this->htmlOptions);
     else
         $html = CHtml::textArea($name, $this->value, $this->htmlOptions);
         
     echo $html;
 }
Exemple #14
0
 /**
  * Registers plugin options and events (if any)
  */
 public function registerClientScript()
 {
     if (!empty($this->pluginOptions)) {
         $options = \CJavaScript::encode($this->pluginOptions);
         \Yii::app()->clientScript->registerScript('Tooltip#' . $this->getId(), "\$(document).foundation('tooltip', {$options});");
     }
 }
 public function run()
 {
     list($name, $id) = $this->resolveNameID();
     if (isset($this->htmlOptions['id'])) {
         $id = $this->htmlOptions['id'];
     } else {
         $this->htmlOptions['id'] = $id;
     }
     if (isset($this->htmlOptions['name'])) {
         $name = $this->htmlOptions['name'];
     } else {
         $this->htmlOptions['name'] = $name;
     }
     if ($this->hasModel()) {
         echo CHtml::activeTextField($this->model, $this->attribute, $this->htmlOptions);
     } else {
         echo CHtml::textField($name, $this->value, $this->htmlOptions);
     }
     $options = CJavaScript::encode($this->options);
     $js = "jQuery('#{$id}').{$this->mode}picker({$options});";
     if (isset($this->language)) {
         $this->registerScriptFile($this->i18nScriptFile);
         $js = "jQuery('#{$id}').{$this->mode}picker(jQuery.extend({showMonthAfterYear:false}, jQuery.datepicker.regional['{$this->language}'], {$options}));";
     }
     $cs = Yii::app()->getClientScript();
     $assets = Yii::app()->getAssetManager()->publish(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'assets');
     $cs->registerCssFile($assets . self::ASSETS_NAME . '.css');
     $cs->registerScriptFile($assets . self::ASSETS_NAME . '.js', CClientScript::POS_END);
     $cs->registerScript(__CLASS__, $this->defaultOptions ? 'jQuery.{$this->mode}picker.setDefaults(' . CJavaScript::encode($this->defaultOptions) . ');' : '');
     $cs->registerScript(__CLASS__ . '#' . $id, $js);
 }
Exemple #16
0
 /**
  */
 public function run()
 {
     /**
      * @var CClientScript $cs
      */
     $cs = Yii::app()->getClientScript();
     // Javascript var
     if (empty($this->jsVarName)) {
         $this->jsVarName = $this->getId() . 'Layout';
     }
     // Container ID
     if (!isset($this->htmlOptions['id'])) {
         $this->htmlOptions['id'] = $this->getId();
     }
     $id = $this->htmlOptions['id'];
     echo CHtml::openTag('div', $this->htmlOptions);
     $layoutsOptions = $this->renderLayouts();
     echo '</div>';
     // Prepare options
     $options = CMap::mergeArray($this->options, $layoutsOptions);
     $options = empty($options) ? '' : CJavaScript::encode($options);
     // Register global JS var
     $cs->registerScript(__CLASS__ . '#jsVar#' . $this->getId(), 'var ' . $this->jsVarName . ';', CClientScript::POS_HEAD);
     // Register Layouts init script
     $cs->registerScript(__CLASS__ . '#init#' . $this->getId(), $this->jsVarName . ' = $("#' . $id . '").layout(' . $options . ');', CClientScript::POS_READY);
 }
 /**
  * Runs the widget.
  */
 public function run()
 {
     $id = $this->id;
     echo CHtml::tag('input', $this->htmlOptions);
     $options = !empty($this->options) ? CJavaScript::encode($this->options) : '';
     Yii::app()->clientScript->registerScript(__CLASS__ . '#' . $id, "jQuery('#{$id}').typeahead({$options});");
 }
 /**
  * @param $model - profile model
  * @param $field - profile fields model item
  * @param $params - htmlOptions
  * @return string
  */
 public function editAttribute($model, $field, $htmlOptions = array())
 {
     if (!isset($htmlOptions['size'])) {
         $htmlOptions['size'] = 60;
     }
     if (!isset($htmlOptions['maxlength'])) {
         $htmlOptions['maxlength'] = $field->field_size ? $field->field_size : 10;
     }
     if (!isset($htmlOptions['id'])) {
         $htmlOptions['id'] = get_class($model) . '_' . $field->varname;
     }
     $id = $htmlOptions['id'];
     $options['dateFormat'] = 'yy-mm-dd';
     $options = CJavaScript::encode($options);
     $basePath = Yii::getPathOfAlias('admin.views.asset');
     $baseUrl = Yii::app()->getAssetManager()->publish($basePath);
     $cs = Yii::app()->getClientScript();
     $cs->registerCssFile($baseUrl . '/css/' . $this->params['ui-theme'] . '/jquery-ui.css');
     $cs->registerScriptFile($baseUrl . '/js/jquery-ui.min.js');
     $language = $this->params['language'];
     if ($language != 'en') {
         $js = "jQuery('#{$id}').datepicker(jQuery.extend({showMonthAfterYear:false}, jQuery.datepicker.regional['{$language}'], {$options}));";
         $cs->registerScriptFile($baseUrl . '/js/jquery-ui-i18n.min.js');
     } else {
         $js = "jQuery('#{$id}').datepicker({$options});";
     }
     $cs->registerScript('ProfileFieldController' . '#' . $id, $js);
     return CHtml::activeTextField($model, $field->varname, $htmlOptions);
 }
Exemple #19
0
 /**
  * Registers necessary client scripts.
  */
 public function registerClientScript()
 {
     $id = $this->getId();
     if ($this->ajaxUpdate === false) {
         $ajaxUpdate = array();
     } else {
         $ajaxUpdate = array_unique(preg_split('/\\s*,\\s*/', $this->ajaxUpdate . ',' . $id, -1, PREG_SPLIT_NO_EMPTY));
     }
     $options = array('ajaxUpdate' => $ajaxUpdate, 'ajaxVar' => $this->ajaxVar, 'pagerClass' => $this->pagerCssClass, 'loadingClass' => $this->loadingCssClass, 'sorterClass' => $this->sorterCssClass, 'enableHistory' => $this->enableHistory);
     if ($this->ajaxUrl !== null) {
         $options['url'] = CHtml::normalizeUrl($this->ajaxUrl);
     }
     if ($this->updateSelector !== null) {
         $options['updateSelector'] = $this->updateSelector;
     }
     foreach (array('beforeAjaxUpdate', 'afterAjaxUpdate', 'ajaxUpdateError') as $event) {
         if ($this->{$event} !== null) {
             if ($this->{$event} instanceof CJavaScriptExpression) {
                 $options[$event] = $this->{$event};
             } else {
                 $options[$event] = new CJavaScriptExpression($this->{$event});
             }
         }
     }
     $options = CJavaScript::encode($options);
     $cs = Yii::app()->getClientScript();
     $cs->registerCoreScript('bbq', CClientScript::POS_HEAD);
     $cs->registerScriptFile($this->baseScriptUrl . '/jquery.yiilistview.js', CClientScript::POS_END);
     $cs->registerScript(__CLASS__ . '#' . $id, "\$(document).ready(function() { \$('#{$id}').yiiListView({$options}); });");
 }
 /**
  * Run this widget.
  * This method registers necessary javascript and renders the needed HTML code.
  */
 public function run()
 {
     $id = $this->getId();
     if (isset($this->htmlOptions['id'])) {
         $id = $this->htmlOptions['id'];
     } else {
         $this->htmlOptions['id'] = $id;
     }
     if (empty($this->options)) {
         $options = '';
     } else {
         $options = CJavaScript::encode($this->options);
     }
     if ($this->baseInputNameForSortableCollection != null) {
         echo ZurmoHtml::hiddenField($this->baseInputNameForSortableCollection);
     }
     Yii::app()->getClientScript()->registerScript(__CLASS__ . '#' . $id, "jQuery('#{$id}').sortable({$options});");
     echo ZurmoHtml::openTag($this->tagName, $this->htmlOptions) . "\n";
     if (empty($this->items) && $this->showEmptyList) {
         echo '<li></li>' . "\n";
     }
     foreach ($this->items as $id => $data) {
         echo strtr($this->itemTemplate, array_merge(array('{id}' => $id), $data)) . "\n";
     }
     echo ZurmoHtml::closeTag($this->tagName);
 }
Exemple #21
0
 public function init()
 {
     if (isset($this->htmlOptions['id'])) {
         $id = $this->htmlOptions['id'];
     } else {
         $id = $this->htmlOptions['id'] = $this->getId();
     }
     if ($this->url !== null) {
         $this->url = CHtml::normalizeUrl($this->url);
     }
     $cs = Yii::app()->getClientScript();
     //$cs->registerCoreScript('treeview');
     $baseUrl = Yii::app()->getAssetManager()->publish(Yii::getPathOfAlias('ext.yii-jqTree.source'));
     $cs->registerScriptFile($baseUrl . '/tree.jquery.js');
     $options = $this->getClientOptions();
     $options = $options === array() ? '{}' : CJavaScript::encode($options);
     $cs->registerScript('Yii.JQTree#0' . $id, "if (jQuery.jqTree == undefined) {jQuery.jqTree = new Array;}");
     $cs->registerScript('Yii.JQTree#' . $id, "jQuery.jqTree[\"{$id}\"] = jQuery(\"#{$id}\").tree({$options});");
     if ($this->cssFile === null) {
         $cs->registerCssFile($baseUrl . '/jqtree.css');
     } else {
         if ($this->cssFile !== false) {
             $cs->registerCssFile($this->cssFile);
         }
     }
     echo CHtml::tag('ul', $this->htmlOptions, false, false) . "\n";
 }
Exemple #22
0
 public function returnControllerClientStateHtml($data, $tableId)
 {
     $states = Clients::getClientsStatesArray();
     $items = CJavaScript::encode($states);
     $options = array('onclick' => 'ajaxSetModerationClientState(this, "' . $tableId . '", "' . $data->id . '", "' . $items . '"); return false;');
     return '<div align="center" class="editable_select" id="editable_select_state-' . $data->id . '">' . CHtml::link($states[$data->state], '#', $options) . '</div>';
 }
 /**
  * Generates the required HTML and Javascript
  */
 public function run()
 {
     list($name, $id) = $this->resolveNameID();
     $model = $this->model;
     if ($this->uploadTemplate === null) {
         $this->uploadTemplate = "#template-upload";
         $this->render("upload");
     }
     if ($this->downloadTemplate === null) {
         $this->downloadTemplate = "#template-download";
         $this->render("download");
     }
     if (!isset($this->htmlOptions['enctype'])) {
         $this->htmlOptions['enctype'] = 'multipart/form-data';
     }
     if (!isset($this->htmlOptions['id'])) {
         $this->htmlOptions['id'] = get_class($model) . "-form";
     }
     $options = CJavaScript::encode($this->options);
     Yii::app()->clientScript->registerScript(__CLASS__ . '#' . $this->htmlOptions['id'], "jQuery('#{$this->htmlOptions['id']}').fileupload({$options});", CClientScript::POS_READY);
     $htmlOptions = array();
     if ($this->multiple) {
         $htmlOptions["multiple"] = true;
         /* if($this->hasModel()){
                $this -> attribute = "[]" . $this -> attribute;
            }else{
                $this -> attribute = "[]" . $this -> name;
            }*/
     }
     $this->render("form", compact('htmlOptions'));
 }
Exemple #24
0
 function run()
 {
     list($name, $id) = $this->resolveNameID();
     if (isset($this->htmlOptions['id'])) {
         $id = $this->htmlOptions['id'];
     } else {
         $this->htmlOptions['id'] = $id;
     }
     if (isset($this->htmlOptions['name'])) {
         $name = $this->htmlOptions['name'];
     } else {
         $this->htmlOptions['name'] = $name;
     }
     if ($this->hasModel()) {
         echo CHtml::activeTextField($this->model, $this->attribute, $this->htmlOptions);
     } else {
         echo CHtml::textField($this->name, $this->value, $this->htmlOptions);
     }
     if (isset($this->htmlOptions['id'])) {
         $id = $this->htmlOptions['id'];
     } else {
         $this->htmlOptions['id'] = $id;
     }
     $options = CJavaScript::encode($this->options);
     $cs = Yii::app()->getClientScript();
     $assetUrl = Yii::app()->assetManager->publish(Yii::getPathOfAlias('ext.YiiDateTimePicker.assets'));
     Yii::app()->clientScript->registerScriptFile($assetUrl . '/jquery.datetimepicker.js');
     Yii::app()->clientScript->registerCssFile($assetUrl . '/jquery.datetimepicker.css');
     $js = "\$('#{$id}').datetimepicker({$options});";
     $cs->registerScript(__CLASS__ . '#' . $id, $js);
 }
Exemple #25
0
 /**
  * Run this widget.
  * This method registers necessary javascript and renders the needed HTML code.
  */
 public function run()
 {
     list($name, $id) = $this->resolveNameID();
     if (isset($this->htmlOptions['id'])) {
         $id = $this->htmlOptions['id'];
     } else {
         $this->htmlOptions['id'] = $id;
     }
     if (isset($this->htmlOptions['name'])) {
         $name = $this->htmlOptions['name'];
     }
     if ($this->hasModel()) {
         echo CHtml::activeTextField($this->model, $this->attribute, $this->htmlOptions);
     } else {
         echo CHtml::textField($name, $this->value, $this->htmlOptions);
     }
     if ($this->sourceUrl !== null) {
         $this->options['source'] = CHtml::normalizeUrl($this->sourceUrl);
     } else {
         $this->options['source'] = $this->source;
     }
     $options = CJavaScript::encode($this->options);
     $js = "jQuery('#{$id}').autocomplete({$options}){$this->methodChain};";
     $cs = Yii::app()->getClientScript();
     $cs->registerScript(__CLASS__ . '#' . $id, $js);
 }
Exemple #26
0
 /**
  * ### .run()
  *
  * Runs the widget.
  */
 public function run()
 {
     $options = !empty($this->options) ? CJavaScript::encode($this->options) : '';
     $id = !empty($this->htmlOptions['id']) ? $this->htmlOptions['id'] : $this->getId();
     $elementId = !empty($this->options['elementId']) ? $this->options['elementId'] : 'null';
     $elementUrl = !empty($this->options['elementUrl']) ? $this->options['elementUrl'] : 'null';
     echo CHtml::openTag('div', $this->htmlOptions);
     echo CHtml::openTag('table');
     echo '<thead><tr class="head"><th id="prev" style="visibility: visible;"><i class="icon-arrow-left"></i></th><th colspan="5" class="switch" style="text-align:center;">' . date("Y") . "年" . date("n") . "月" . '</th><th id="next" style="visibility: visible;"><i class="icon-arrow-right-2"></i></th></thead>';
     echo '<tbody></tbody>';
     echo CHtml::closeTag('table');
     echo CHtml::closeTag('div');
     ob_start();
     Yii::app()->getClientScript()->registerScript(__CLASS__ . '#' . $this->getId(), ob_get_clean() . ';');
     if (isset($_GET['date'])) {
         $year = date("Y", strtotime($_GET['date']));
         $month = date("n", strtotime($_GET['date']));
         $day = date("j", strtotime($_GET['date']));
     } else {
         $year = date("Y");
         $month = date("n");
         $day = date("j");
     }
     $this->registerJs($id, $year, $month, $day, $elementId, $elementUrl);
 }
 /**
  * Run this widget.
  * This method registers necessary javascript and renders the needed HTML code.
  */
 public function run()
 {
     $themeURL = Yii::app()->theme->getBaseUrl();
     Yii::app()->clientScript->registerScript('logos', "\n\t\t\$(window).load(function(){\n\t\t\tif((!\$('#main-menu-icon').length) || (!\$('#x2touch-logo').length) || (!\$('#x2crm-logo').length)){\n\t\t\t\t\$('a').removeAttr('href');\n\t\t\t\talert('Please put the logo back');\n\t\t\t\twindow.location='http://www.x2engine.com';\n\t\t\t}\n\t\t\tvar touchlogosrc = \$('#x2touch-logo').attr('src');\n\t\t\tvar logosrc=\$('#x2crm-logo').attr('src');\n\t\t\tif(logosrc!='{$themeURL}/images/x2footer.png'|| touchlogosrc!='{$themeURL}/images/x2touch.png'){\n\t\t\t\t\$('a').removeAttr('href');\n\t\t\t\talert('Please put the logo back');\n\t\t\t\twindow.location='http://www.x2engine.com';\n\t\t\t}\n\t\t});    \n\t\t");
     Yii::app()->clientScript->registerScript('toggleWidgetState', "\n\t\t\tfunction toggleWidgetState(widget,state) {\n\t\t\t\t\$.ajax({\n\t\t\t\t\turl: '" . CHtml::normalizeUrl(array('/site/widgetState')) . "',\n\t\t\t\t\ttype: 'GET',\n\t\t\t\t\tdata: 'widget='+widget+'&state='+state,\n\t\t\t\t\tsuccess: function(response) {\n\t\t\t\t\t\tif(response=='success') {\n\t\t\t\t\t\t\tvar link = \$('#widget_'+widget+' .portlet-minimize a');\n\t\t\t\t\t\t\tvar newLink = (link.html()=='[+]')? '[&ndash;]' : '[+]';\t\t\t// toggle link between [+] and [-]\n\t\t\t\t\t\t\tlink.html(newLink);\n\t\t\t\t\t\t\t\$('#widget_'+widget+' .portlet-content').toggle('blind',{},200);\t// slide widget open or closed\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t", CClientScript::POS_HEAD);
     $id = $this->getId();
     //get generated id
     if (isset($this->htmlOptions['id'])) {
         $id = $this->htmlOptions['id'];
     } else {
         $this->htmlOptions['id'] = $id;
     }
     $options = empty($this->jQueryOptions) ? '' : CJavaScript::encode($this->jQueryOptions);
     Yii::app()->getClientScript()->registerScript('SortableWidgets' . '#' . $id, "jQuery('#{$id}').sortable({$options});");
     echo CHtml::openTag($this->tagName, $this->htmlOptions) . "\n";
     $hideWidgetJs = '';
     foreach ($this->portlets as $class => $properties) {
         $visible = $properties['visibility'] == '1';
         if (!$visible) {
             $hideWidgetJs .= "\$('#widget_" . $class . " .portlet-content').hide();\n";
         }
         $minimizeLink = CHtml::link($visible ? '[&ndash;]' : '[+]', '#', array('onclick' => "toggleWidgetState('{$class}'," . ($visible ? 0 : 1) . "); return false;"));
         // $t0 = microtime(true);
         $this->beginWidget('zii.widgets.CPortlet', array('title' => Yii::t('app', Yii::app()->params->registeredWidgets[$class]) . '<div class="portlet-minimize">' . $minimizeLink . '</div>', 'id' => $properties['id']));
         $this->widget($class);
         $this->endWidget();
         // echo (round(microtime(true)-$t0,3)*1000).'ms';
     }
     Yii::app()->clientScript->registerScript('setWidgetState', "\n\t\t\t\$(document).ready(function() {\n\t\t\t\t" . $hideWidgetJs . "\n\t\t\t});", CClientScript::POS_HEAD);
     echo CHtml::closeTag($this->tagName);
 }
 /**
  * Add WYMeditor to the page.
  */
 public function run()
 {
     // Add textarea to the page
     if ($this->target === null) {
         list($name, $id) = $this->resolveNameID();
         if ($this->hasModel()) {
             echo CHtml::activeTextArea($this->model, $this->attribute, $this->htmlOptions);
         } else {
             echo CHtml::textArea($name, $this->value, $this->htmlOptions);
         }
     }
     // Publish extension assets
     $assets = Yii::app()->getAssetManager()->publish(Yii::getPathOfAlias('ext.EWYMeditor') . '/assets');
     $cs = Yii::app()->getClientScript();
     $cs->registerScriptFile($assets . '/jquery.wymeditor.js', CClientScript::POS_END);
     // Add the plugins to editor
     if ($this->plugins !== array()) {
         $this->_addPlugins($cs, $assets);
     }
     $options = CJavaScript::encode($this->options);
     if ($this->target === null) {
         $cs->registerScript('wym', "jQuery('#{$id}').wymeditor({$options});");
     } else {
         $cs->registerScript('wym', "jQuery('{$this->target}').wymeditor({$options});");
     }
 }
 public function run()
 {
     if (empty($this->config['action'])) {
         throw new CException('EAjaxUpload: param "action" cannot be empty.');
     }
     if (empty($this->config['allowedExtensions'])) {
         throw new CException('EAjaxUpload: param "allowedExtensions" cannot be empty.');
     }
     if (empty($this->config['sizeLimit'])) {
         throw new CException('EAjaxUpload: param "sizeLimit" cannot be empty.');
     }
     unset($this->config['element']);
     echo '<div id="' . $this->id . '"><noscript><p>Please enable JavaScript to use file uploader.</p></noscript></div>';
     //$assets = dirname(__FILE__).'/assets';
     //$baseUrl = Yii::app()->assetManager->publish($assets);
     //Yii::app()->clientScript->registerScriptFile($baseUrl . '/fileuploader.js', CClientScript::POS_HEAD);
     //$this->css=(!empty($this->css))?$this->css:$baseUrl.'/fileuploader.css';
     //Yii::app()->clientScript->registerCssFile($this->css);
     $this->css = !empty($this->css) ? $this->css : 'fileuploader.css';
     Yii::setPathOfAlias('ajaxupload', dirname(__FILE__));
     $cs = Yii::app()->getClientScript();
     $cs->packages['ajaxupload'] = array('basePath' => 'ajaxupload.assets', 'css' => array($this->css), 'js' => array('fileuploader.js'));
     $cs->registerPackage('ajaxupload');
     $postParams = array('PHPSESSID' => session_id(), 'YII_CSRF_TOKEN' => Yii::app()->request->csrfToken);
     if (isset($this->postParams)) {
         $postParams = array_merge($postParams, $this->postParams);
     }
     $config = array('button' => 'js:document.getElementById("' . $this->id . '")', 'debug' => false, 'multiple' => false);
     $config = array_merge($config, $this->config);
     $config['params'] = $postParams;
     $config = CJavaScript::encode($config);
     Yii::app()->getClientScript()->registerScript("FileUploader_" . $this->id, "var FileUploader_" . $this->id . " = new qq.FileUploaderBasic({$config}); ", CClientScript::POS_LOAD);
 }
 public function addInstance($selector, $options = array())
 {
     $options = CJavaScript::encode($options);
     $id = __CLASS__ . '_' . sprintf("%x", crc32($selector . $options));
     Yii::app()->clientScript->registerScript($id, "jQuery('{$selector}').colorbox({$options});");
     return $this;
 }