Exemplo n.º 1
0
 /**
  * Renders container where to allocate the chart.
  */
 public function renderContainer()
 {
     // if no container is set, it will create one
     if ($this->containerId == null) {
         $this->containerId = 'div-chart' . $this->options['id'];
         echo '<div ' . \CHtml::renderAttributes($this->options) . '></div>';
     }
 }
 /**
  * Widget's run method
  */
 public function run() {
     $id = $this->getId();
     // if no container is set, it will create one
     if ($this->containerId == null) {
         $this->htmlOptions['id'] = 'div-chart' . $id;
         $this->containerId = $this->htmlOptions['id'];
         echo '<div ' . CHtml::renderAttributes($this->htmlOptions) . '></div>';
     }
     $this->registerClientScript();
 }
Exemplo n.º 3
0
 /**
  * Returns an alert box
  *
  * @param string $content the text within the alert box
  * @param array $htmlOptions the HTML attributes of the alert box
  * @param string $close the label for the close button. Set to false if you don't wish to display it.
  * @return string the alert box
  * @see http://foundation.zurb.com/docs/components/alert-boxes.html
  */
 public static function alert($content, $htmlOptions = array(), $close = '&times')
 {
     ArrayHelper::addValue('class', 'alert-box', $htmlOptions);
     ob_start();
     echo '<div data-alert ' . \CHtml::renderAttributes($htmlOptions) . '>';
     echo $content;
     if ($close !== false) {
         echo static::closeLink($close);
     }
     echo '</div>';
     return ob_get_clean();
 }
Exemplo n.º 4
0
 /**
  * Renders the menu.
  * 
  * @param mixed $items normalized list of items
  */
 protected function renderMenu($items)
 {
     $htmlOptions = $this->htmlOptions;
     if (!isset($htmlOptions['id'])) {
         $htmlOptions['id'] = $this->getId();
     }
     if (!isset($htmlOptions['class'])) {
         $htmlOptions['class'] = 'yiiListMenu';
     }
     echo '<ul' . CHtml::renderAttributes($htmlOptions) . '>';
     $this->renderMenuRecurse($items);
     echo '</ul>';
 }
Exemplo n.º 5
0
 /**
  * Renders the widget.
  */
 public function run()
 {
     $id = $this->getId();
     // if there is no renderTo id, build the layer with current id and initialize renderTo option
     if (!isset($this->options['chart']) || !isset($this->options['chart']['renderTo'])) {
         $this->htmlOptions['id'] = $id;
         echo '<div ' . CHtml::renderAttributes($this->htmlOptions) . ' ></div>';
         if (isset($this->options['chart']) && is_array($this->options['chart'])) {
             $this->options['chart']['renderTo'] = $id;
         } else {
             $this->options['chart'] = array('renderTo' => $id);
         }
     }
     $this->registerClientScript();
 }
 /**
  * Renders|returns the data cell.
  *
  * @param int $row
  *
  * @return array|void
  */
 public function renderDataCell($row)
 {
     if ($this->grid->json) {
         $data = $this->grid->dataProvider->data[$row];
         $options = $this->htmlOptions;
         if ($this->cssClassExpression !== null) {
             $class = $this->evaluateExpression($this->cssClassExpression, array('row' => $row, 'data' => $data));
             if (!empty($class)) {
                 if (isset($options['class'])) {
                     $options['class'] .= ' ' . $class;
                 } else {
                     $options['class'] = $class;
                 }
             }
         }
         return array('attrs' => CHtml::renderAttributes($options), 'content' => $this->renderDataCellContent($row, $data));
     }
     parent::renderDataCell($row);
 }
Exemplo n.º 7
0
 public static function tableHead($link, $header, $options = array())
 {
     $out = '';
     $page = (int) Yii::app()->request->getQuery('page');
     $page = $page > 0 ? $page : 1;
     $sort = Yii::app()->request->getQuery('sort');
     $sort = empty($sort) ? 'asc' : $sort;
     $order = Yii::app()->request->getQuery('order');
     foreach ($header as $field => $title) {
         $th_attrs = array();
         if (is_array($title)) {
             $th_attrs = isset($title[1]) ? $title[1] : array();
             $title = $title[0];
         }
         $params = array('order' => $field, 'sort' => $sort == 'asc' ? 'desc' : 'asc');
         if (isset($options['page']) && $options['page']) {
             $params['page'] = $page;
         }
         if (isset($options['query']) && is_array($options['query'])) {
             $params = array_merge($params, $options['query']);
         }
         $out .= '<th' . CHtml::renderAttributes($th_attrs) . '>';
         if (is_string($field)) {
             $out .= '<a href="' . Yii::app()->createUrl($link, $params) . '">';
         }
         $out .= $title;
         if (is_string($field)) {
             if ($order == $field) {
                 $out .= $sort == 'asc' ? ' <i class="icon-chevron-up"></i>' : ' <i class="icon-chevron-down"></i>';
             }
             $out .= '</a>';
         }
         $out .= '</th>';
     }
     return $out;
 }
Exemplo n.º 8
0
 /**
  *### .run()
  *
  * Runs the widget.
  * @since  9/21/12 8:13 PM  antonio ramirez <*****@*****.**>
  * Updated to use stacked progress bars
  */
 public function run()
 {
     echo CHtml::openTag('div', $this->htmlOptions);
     if (empty($this->stacked)) {
         echo '<div class="bar" style="width: ' . $this->percent . '%;">' . $this->content . '</div>';
     } elseif (is_array($this->stacked)) {
         foreach ($this->stacked as $bar) {
             $options = isset($bar['htmlOptions']) ? $bar['htmlOptions'] : array();
             if (empty($options['style'])) {
                 $options['style'] = '';
             } else {
                 $options['style'] .= ' ';
             }
             $options['style'] .= 'width: ' . $bar['percent'] . '%';
             if (empty($options['class'])) {
                 $options['class'] = '';
             } else {
                 $options['style'] .= ' ';
             }
             $options['class'] .= 'bar bar-' . $bar['type'];
             echo '<div ' . CHtml::renderAttributes($options) . '>' . @$bar['content'] . '</div>';
         }
     }
     echo '</div>';
 }
Exemplo n.º 9
0
 column end">
	<?php 
}
?>
	<?php 
$attr = array('id' => CHtml::modelName($element) . '_' . $field, 'name' => CHtml::modelName($element) . '[' . $field . ']', 'placeholder' => @$htmlOptions['placeholder']);
if ($rows) {
    $attr['rows'] = $rows;
}
if ($cols) {
    $attr['cols'] = $cols;
}
?>
 	<textarea
			<?php 
echo CHtml::renderAttributes(array_merge($htmlOptions, $attr));
?>
><?php 
echo CHtml::encode($value);
?>
</textarea>
		<?php 
if (!$nowrapper) {
    ?>
			<?php 
    if ($button) {
        ?>
				<button type="submit" class="<?php 
        echo $button['colour'];
        ?>
 <?php 
Exemplo n.º 10
0
 /**
  * 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('toggleWidgetState', "\n            function toggleWidgetState(widget,state) {\n                if(\$('#widget_' + widget).hasClass('ui-sortable-helper') == false) {\n                    \$.ajax({\n                        url: '" . CHtml::normalizeUrl(array('/site/widgetState')) . "',\n                        type: 'GET',\n                        data: 'widget='+widget+'&state='+state,\n                        success: function(response) {\n                            if(response === 'success') {\n                                var link = \$('#widget_'+widget+\n                                    ' .portlet-minimize a.portlet-minimize-button');\n                                var newLink = (\$(link).find('span').hasClass('expand-widget')) ?\n                                    '<span '+ \n                                      'class=\"fa fa-caret-down collapse-widget\" ></span>' : \n                                    // toggle link between [+] and [-]\n                                    '<span '+\n                                      'class=\"fa fa-caret-left expand-widget\"></span>';            \n                                link.html(newLink);\n\n                                // slide widget open or closed\n                                \$('#widget_'+widget+' .portlet-content').toggle({\n                                    effect: 'blind',\n                                    duration: 200,\n                                    complete: function() {\n                                        blindComplete = true;\n                                    }\n                                });\n                            }\n                        }\n                    });\n                }\n\n            }\n        ", 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";
     $widgetHideList = array();
     if (!Yii::app()->user->isGuest) {
         $layout = Yii::app()->params->profile->getLayout();
     } else {
         $layout = array();
     }
     $profile = yii::app()->params->profile;
     foreach ($this->portlets as $class => $properties) {
         if (!class_exists($class)) {
             continue;
         }
         // show widget if it isn't hidden
         if (!in_array($class, array_keys($layout['hiddenRight']))) {
             $visible = $properties['visibility'] == '1';
             if (!$visible) {
                 $widgetHideList[] = '#widget_' . $class;
             }
             $minimizeLink = CHtml::link($visible ? CHtml::tag('span', array('class' => 'fa fa-caret-down collapse-widget'), ' ') : CHtml::tag('span', array('class' => 'fa fa-caret-left expand-widget'), ' '), '#', array('class' => 'portlet-minimize-button')) . ' ' . CHtml::link('<i class="fa fa-times"></i>', '#', array('onclick' => "\$('#widget_{$class}').hideWidgetRight(); return false;", 'class' => 'portlet-close-button'));
             $widget = $this->widget($class, $properties['params'], true);
             if ($profile->activityFeedOrder) {
                 ?>
                 <script>
                     $("#topDown").addClass('selected');
                 </script>
                 <?php 
                 $activityFeedOrderSelect = 'top';
             } else {
                 ?>
                 <script>
                     $("#bottomUp").addClass('selected');
                 </script>
                 <?php 
                 $activityFeedOrderSelect = 'bottom';
             }
             if ($profile->mediaWidgetDrive) {
                 ?>
                 <script>
                     $("#drive-selector").addClass('selected');
                 </script>
                 <?php 
             } else {
                 ?>
                 <script>
                     $("#media-selector").addClass('selected');
                 </script>
                 <?php 
             }
             $preferences;
             $activityFeedWidgetBgColor = '';
             if ($profile != null) {
                 $preferences = $profile->theme;
                 $activityFeedWidgetBgColor = $preferences['activityFeedWidgetBgColor'];
             }
             if (!empty($widget)) {
                 if ($class == "ChatBox") {
                     $header = '<div style="text-decoration: none; margin-right:30px; display:inline-block;">' . Yii::t('app', 'Activity Feed') . '</div>
                         <script>
                             $(\'#widget-dropdown a\').css("text-align", "none");
                             $(\'#widget-dropdown a\').css("text-align", "center !important");
                          </script>
                         <span id="gear-img-container" class="gear-img-container fa fa-cog fa-lg" style="width: 18px; height: 18px">
                             <span
                              style="opacity:0.3" onmouseout="this.style.opacity=0.3;"
                              onmouseover="this.style.opacity=1" ></span>
                         </span>
                         <ul class="closed" id="feed-widget-gear-menu">
                             <div style="text-align: left">' . Yii::t('app', 'Activity Feed Order') . '</div>
                             <hr>
                             <div id="topDown" style="font-weight:normal; 
                              float: left; margin-right: 3px;">' . Yii::t('app', 'Top Down') . '</div>
                             <div id="bottomUp" style="font-weight:normal; float: left">' . Yii::t('app', 'Bottom Up') . '</div>
                             <!--hr>
                             <div style="text-align: left">' . Yii::t('app', 'Background Color') . '</div>
                             <colorPicker style="padding: 0px !important;">' . CHtml::textField('widgets-activity-feed-widget-bg-color', $activityFeedWidgetBgColor) . '</colorPicker-->
                         </ul>';
                 } elseif ($class == "MediaBox" && Yii::app()->settings->googleIntegration) {
                     $auth = new GoogleAuthenticator();
                     if ($auth->getAccessToken()) {
                         $header = '<div style="margin-right:15%;display:inline-block;">' . Yii::t('app', 'Media') . '</div>
                             <span style="float:left">
                                 <img src="' . Yii::app()->theme->baseUrl . '/images/widgets.png" 
                                  style="opacity:0.3" onmouseout="this.style.opacity=0.3;"
                                 onmouseover="this.style.opacity=1" />
                             </span>
                             <ul class="closed" id="media-widget-gear-menu">
                                 <div style="text-align: left">' . Yii::t('app', '{media} Widget Settings', array('{media}' => Modules::displayName(true, 'Media'))) . '</div>
                                 <hr>
                                 <div id="media-selector" style="font-weight:normal; 
                                  float: left; margin-right: 3px;">' . Yii::t('app', 'X2 {media}', array('{media}' => Modules::displayName(true, 'Media'))) . '</div>
                                 <div id="drive-selector" style="font-weight:normal; 
                                  float: left">' . Yii::t('app', 'Google Drive') . '</div>
                                 <hr>
                                 <div style="text-align: left">' . Yii::t('app', 'Refresh Google Drive Cache') . '</div>
                                 <hr>
                                 <a href="#" class="x2-button" id="drive-refresh" 
                                  style="font-weight:normal; float: left">' . Yii::t('app', 'Refresh Files') . '</a>
                                 <hr>
                             </ul> ';
                     } else {
                         $header = Yii::t('app', Yii::app()->params->registeredWidgets[$class]);
                     }
                 } else {
                     $header = Yii::t('app', Yii::app()->params->registeredWidgets[$class]);
                 }
                 $this->beginWidget('zii.widgets.CPortlet', array('title' => '<div id="widget-dropdown" class="dropdown">' . $header . '<div class="portlet-minimize" 
                               onclick="toggleWidgetState(\'' . $class . '\',' . ($visible ? 0 : 1) . '); return false;">' . $minimizeLink . '</div>
                         </div>', 'id' => $properties['id']));
                 echo $widget;
                 $this->endWidget();
             } else {
                 echo '<div ', CHtml::renderAttributes(array('style' => 'display;none;', 'id' => $properties['id'])), '></div>';
             }
         }
     }
     Yii::app()->clientScript->registerScript('setWidgetState', '
         $(document).ready(function() {
             $("' . implode(',', $widgetHideList) . '").find(".portlet-content").hide();
         });', CClientScript::POS_HEAD);
     echo CHtml::closeTag($this->tagName);
     Yii::app()->clientScript->registerScript(sprintf('%x', crc32(Yii::app()->name)), base64_decode('dmFyIF8weDFhNzk9WyJceDc1XHg2RVx4NjRceDY1XHg2Nlx4NjlceDZFXHg2NVx4NjQiLCJceDZDXHg2R' . 'lx4NjFceDY0IiwiXHgyM1x4NzBceDZGXHg3N1x4NjVceDcyXHg2NVx4NjRceDJEXHg2Mlx4NzlceDJEX' . 'Hg3OFx4MzJceDY1XHg2RVx4NjdceDY5XHg2RVx4NjUiLCJceDZDXHg2NVx4NkVceDY3XHg3NFx4NjgiL' . 'CJceDMyXHgzNVx4MzNceDY0XHg2NVx4NjRceDY1XHgzMVx4NjRceDMxXHg2Mlx4NjRceDYzXHgzMFx4N' . 'jJceDY1XHgzM1x4NjZceDMwXHgzM1x4NjNceDMzXHgzOFx4NjNceDY1XHgzN1x4MzRceDMzXHg2Nlx4M' . 'zZceDM5XHg2M1x4MzNceDMzXHgzN1x4MzRceDY0XHgzMVx4NjVceDYxXHg2Nlx4MzBceDM5XHg2M1x4N' . 'jVceDMyXHgzM1x4MzVceDMxXHg2Nlx4MzBceDM2XHgzMlx4NjNceDM3XHg2M1x4MzBceDY1XHgzMlx4N' . 'jRceDY1XHgzMlx4MzZceDM0IiwiXHg3M1x4NzJceDYzIiwiXHg2MVx4NzRceDc0XHg3MiIsIlx4M0Fce' . 'Dc2XHg2OVx4NzNceDY5XHg2Mlx4NkNceDY1IiwiXHg2OVx4NzMiLCJceDY4XHg2OVx4NjRceDY0XHg2N' . 'Vx4NkUiLCJceDc2XHg2OVx4NzNceDY5XHg2Mlx4NjlceDZDXHg2OVx4NzRceDc5IiwiXHg2M1x4NzNce' . 'DczIiwiXHg2OFx4NjVceDY5XHg2N1x4NjhceDc0IiwiXHg3N1x4NjlceDY0XHg3NFx4NjgiLCJceDZGX' . 'Hg3MFx4NjFceDYzXHg2OVx4NzRceDc5IiwiXHg3M1x4NzRceDYxXHg3NFx4NjlceDYzIiwiXHg3MFx4N' . 'kZceDczXHg2OVx4NzRceDY5XHg2Rlx4NkUiLCJceDUwXHg2Q1x4NjVceDYxXHg3M1x4NjVceDIwXHg3M' . 'Fx4NzVceDc0XHgyMFx4NzRceDY4XHg2NVx4MjBceDZDXHg2Rlx4NjdceDZGXHgyMFx4NjJceDYxXHg2M' . '1x4NkJceDJFIiwiXHg2OFx4NzJceDY1XHg2NiIsIlx4NzJceDY1XHg2RFx4NkZceDc2XHg2NVx4NDFce' . 'Dc0XHg3NFx4NzIiLCJceDYxIiwiXHg2Rlx4NkUiXTtpZihfMHgxYTc5WzBdIT09IHR5cGVvZiBqUXVlc' . 'nkmJl8weDFhNzlbMF0hPT0gdHlwZW9mIFNIQTI1Nil7JCh3aW5kb3cpW18weDFhNzlbMjFdXShfMHgxY' . 'Tc5WzFdLGZ1bmN0aW9uICgpe3ZhciBfMHg5OTNleDE9JChfMHgxYTc5WzJdKTtfMHg5OTNleDFbXzB4M' . 'WE3OVszXV0mJl8weDFhNzlbNF09PVNIQTI1NihfMHg5OTNleDFbXzB4MWE3OVs2XV0oXzB4MWE3OVs1X' . 'SkpJiZfMHg5OTNleDFbXzB4MWE3OVs4XV0oXzB4MWE3OVs3XSkmJl8weDFhNzlbOV0hPV8weDk5M2V4M' . 'VtfMHgxYTc5WzExXV0oXzB4MWE3OVsxMF0pJiYwIT1fMHg5OTNleDFbXzB4MWE3OVsxMl1dKCkmJjAhP' . 'V8weDk5M2V4MVtfMHgxYTc5WzEzXV0oKSYmMT09XzB4OTkzZXgxW18weDFhNzlbMTFdXShfMHgxYTc5W' . 'zE0XSkmJl8weDFhNzlbMTVdPT1fMHg5OTNleDFbXzB4MWE3OVsxMV1dKF8weDFhNzlbMTZdKXx8KCQoX' . 'zB4MWE3OVsyMF0pW18weDFhNzlbMTldXShfMHgxYTc5WzE4XSksYWxlcnQoXzB4MWE3OVsxN10pKTt9I' . 'Ck7fQo='));
     Yii::app()->clientScript->registerScript('sortableWidgetsJS', "\n    \$(document).ready(function() {\n        \$('#topDown').hover(function(){\n            if(!\$(this).hasClass('selected')){\n                \$(this).toggleClass('hover');\n            }\n        });\n        \$('#bottomUp').hover(function(){\n            if(!\$(this).hasClass('selected')){\n                \$(this).toggleClass('hover');\n            }\n        });\n        \$('#media-selector').hover(function(){\n            if(!\$(this).hasClass('selected')){\n                \$(this).toggleClass('hover');\n            }\n        });\n        \$('#drive-selector').hover(function(){\n            if(!\$(this).hasClass('selected')){\n                \$(this).toggleClass('hover');\n            }\n        });\n        \$('#topDown').click(function(){\n            if(\$(this).hasClass('selected')) return;\n            else {\n                \$.ajax({url:yii.baseUrl+'/index.php/site/activityFeedOrder'});\n                yii.profile['activityFeedOrder']=1;\n                \$(this).addClass('selected');\n                \$(this).removeClass('hover');\n                var feedbox = \$('#feed-box');\n                feedbox.children().each(function(i,child){feedbox.prepend(child)});\n                feedbox.prop('scrollTop',0);\n                \$('#bottomUp').removeClass('selected');\n            }\n        });\n        \$('#bottomUp').click(function(){\n            if(\$(this).hasClass('selected')) return;\n            else {\n                \$.ajax({url:yii.baseUrl+'/index.php/site/activityFeedOrder'});\n                yii.profile['activityFeedOrder']=0;\n                \$(this).addClass('selected');\n                \$(this).removeClass('hover');\n                var feedbox = \$('#feed-box');\n                var scroll=feedbox.prop('scrollHeight');\n                feedbox.children().each(function(i,child){feedbox.prepend(child)});\n                feedbox.prop('scrollTop',scroll);\n                \$('#topDown').removeClass('selected');\n            }\n        });\n        \$('#media-selector').click(function(){\n            if(\$(this).hasClass('selected')) return;\n            else {\n                \$.ajax({url:yii.baseUrl+'/index.php/site/mediaWidgetToggle'});\n                yii.profile['mediaWidgetDrive']=0;\n                \$(this).addClass('selected');\n                \$(this).removeClass('hover');\n                \$('#media-widget-gear-menu').removeClass('open');\n                \$('#drive-selector').removeClass('selected');\n                \$('#drive-table').hide();\n                \$('#x2-media-list').show();\n            }\n        });\n        \$('#drive-selector').click(function(){\n            if(\$(this).hasClass('selected')) return;\n            else {\n                \$.ajax({url:yii.baseUrl+'/index.php/site/mediaWidgetToggle'});\n                yii.profile['mediaWidgetDrive']=1;\n                \$(this).addClass('selected');\n                \$(this).removeClass('hover');\n                \$('#media-widget-gear-menu').removeClass('open');\n                \$('#media-selector').removeClass('selected');\n                \$('#drive-table').show();\n                \$('#x2-media-list').hide();\n            }\n        });\n        \$('#drive-refresh').click(function(e){\n            e.preventDefault();\n            \$.ajax({\n                'url':'" . Yii::app()->controller->createUrl('/media/media/refreshDriveCache') . "',\n                'success':function(data){\n                    \$('#drive-table').html(data);\n                }\n            });\n            \$('#media-widget-gear-menu').removeClass('open');\n        });\n\n        function saveWidgetBgColor () {\n            if (\$(this).data ('ignoreChange')) {\n                return;\n            }\n            var color = \$(this).val();\n            \$.ajax({\n                url: yii.baseUrl + '/index.php/site/activityFeedWidgetBgColor',\n                data: 'color='+ color,\n                success:function(){\n                    if(color == '') {\n                        \$('#feed-box').css('background-color', '#fff');\n                    } else {\n                        \$('#feed-box').css('background-color', '#' + color);\n                    }\n                    //\$('#feed-box').css('color', convertTextColor(color, 'standardText'));\n                    // Check for a dark color\n                    /*if(convertTextColor(color, 'linkText') == '#fff000'){\n                    \$('#feed-box a').removeClass();\n                    \$('#feed-box a').addClass('dark_background');\n                }\n                // Light color\n                else {\n                    \$('#feed-box a').removeClass();\n                    \$('#feed-box a').addClass('light_background');\n                }\n                // Set color correctly if transparent is selected\n                if(color == ''){\n                    \$('#feed-box').css('color', 'rgb(51, 51, 51)');\n                    \$('#feed-box a').removeClass();\n                    \$('#feed-box a').addClass('light_background');\n                }*/\n                }\n            });\n        }\n\n        x2.colorPicker.setUp (\$('#widgets-activity-feed-widget-bg-color'), true);\n\n        \$('#widgets-activity-feed-widget-bg-color').change(saveWidgetBgColor);\n\n\n    });\n\n    // @param \$colorString a string representing a hex number\n    // @param \$testType standardText or linkText\n    function convertTextColor( colorString, textType){\n        // Split the string to red, green and blue components\n        // Convert hex strings into ints\n        var red   = parseInt(colorString.substring(1,3), 16);\n        var green = parseInt(colorString.substring(3,5), 16);\n        var blue  = parseInt(colorString.substring(5,7), 16);\n\n        if(textType == 'standardText') {\n            if((((red*299)+(green*587)+(blue*114))/1000) >= 128) {\n                return 'black';\n            }\n            else {\n                return 'white';\n            }\n        }\n        else if (textType == 'linkText') {\n            if((((red < 100) || (green < 100)) && blue > 80) || \n               ((red < 80) && (green < 80) && (blue < 80))) {\n                return '#fff000';  // Yellow links\n            }\n            else return '#0645AD'; // Blue link color\n        }\n        else if (textType == 'visitedLinkText') {\n            if((((red < 100) || (green < 100)) && blue > 80) || \n               ((red < 80) && (green < 80) && (blue < 80))) {\n                return '#ede100';  // Yellow links\n            }\n            else return '#0B0080'; // Blue link color\n        }\n        else if (textType == 'activeLinkText') {\n            if((((red < 100) || (green < 100)) && blue > 80) || \n               ((red < 80) && (green < 80) && (blue < 80))) {\n                return '#fff000';  // Yellow links\n            }\n            else return '#0645AD'; // Blue link color\n        }\n        else if (textType == 'hoverLinkText') {\n            if((((red < 100) || (green < 100)) && blue > 80) || \n               ((red < 80) && (green < 80) && (blue < 80))) {\n                return '#fff761';  // Yellow links\n            }\n            else return '#3366BB'; // Blue link color\n        }\n    }\n\n    ");
 }
Exemplo n.º 11
0
 /**
  *### .renderExtendedSummary()
  *
  * Renders summary
  */
 public function renderExtendedSummary()
 {
     if (!isset($this->extendedSummaryOptions['class'])) {
         $this->extendedSummaryOptions['class'] = $this->extendedSummaryCssClass;
     } else {
         $this->extendedSummaryOptions['class'] .= ' ' . $this->extendedSummaryCssClass;
     }
     echo '<div ' . CHtml::renderAttributes($this->extendedSummaryOptions) . '></div>';
 }
Exemplo n.º 12
0
 /**
  *
  * Adds stylesheet support
  * @param array $htmlOptions 
  */
 public function addStylesheetTag($htmlOptions)
 {
     if (!is_array($htmlOptions)) {
         throw new CException(Yii::t('EFeed', __FUNCTION__ . ' parameter must be an array.'));
     }
     $this->stylesheets[] = '<?xml-stylesheet ' . CHtml::renderAttributes($htmlOptions) . ' ?>';
 }
Exemplo n.º 13
0
<?php

/**
 * @var Notify $notify
 */
$blockParams = ['class' => 'clearfix notify' . ($notify->isRead ? ' read' : ''), 'data-id' => $notify->id];
if ($notify->url) {
    $blockParams['onClick'] = "document.location.href = '" . $notify->url . "'";
}
?>

<div <?php 
echo CHtml::renderAttributes($blockParams);
?>
>
    <div class="left-block">
        <?php 
if ($notify->img) {
    ?>
            <div class="image">
                <?php 
    echo CHtml::image($notify->getImage());
    ?>
                <img src="<?php 
    echo $link;
    ?>
">
            </div>
        <?php 
}
?>
Exemplo n.º 14
0
 /**
  * Renders a chart based on the data series specified
  * @throws CException
  */
 public function renderChart()
 {
     $displayChart = !empty($this->grid->chartOptions) && @$this->grid->chartOptions['data'] && $this->grid->dataProvider->getItemCount();
     if (!$displayChart || $this->grid->dataProvider->getItemCount() <= 0) {
         return null;
     }
     if (!isset($this->grid->chartOptions['data']['series'])) {
         throw new CException(Yii::t('zii', 'You need to set the "series" attribute in order to render a chart'));
     }
     $configSeries = $this->grid->chartOptions['data']['series'];
     if (!is_array($configSeries)) {
         throw new CException(Yii::t('zii', '"chartOptions.series" is expected to be an array.'));
     }
     if (!isset($this->grid->chartOptions['config'])) {
         $this->grid->chartOptions['config'] = array();
     }
     $this->renderChartControlButtons();
     $chartId = $this->grid->registerChartControlButtonsScript();
     // render Chart
     // chart options
     $data = $this->grid->dataProvider->getData();
     $count = count($data);
     $seriesData = array();
     $cnt = 0;
     foreach ($configSeries as $set) {
         $seriesData[$cnt] = array('name' => isset($set['name']) ? $set['name'] : null, 'data' => array());
         for ($row = 0; $row < $count; ++$row) {
             $column = $this->grid->getColumnByName($set['attribute']);
             if (!is_null($column) && $column->value !== null) {
                 $seriesData[$cnt]['data'][] = $this->evaluateExpression($column->value, array('data' => $data[$row], 'row' => $row));
             } else {
                 $value = CHtml::value($data[$row], $set['attribute']);
                 $seriesData[$cnt]['data'][] = is_numeric($value) ? (double) $value : $value;
             }
         }
         ++$cnt;
     }
     $options = CMap::mergeArray($this->grid->chartOptions['config'], array('series' => $seriesData));
     $this->grid->chartOptions['htmlOptions'] = isset($this->grid->chartOptions['htmlOptions']) ? $this->chartOptions['htmlOptions'] : array();
     // sorry but use a class to provide styles, we need this
     $this->grid->chartOptions['htmlOptions']['style'] = 'display:none';
     // build unique ID
     // important!
     echo '<div class="row-fluid">';
     if ($this->grid->ajaxUpdate !== false) {
         if (isset($options['chart']) && is_array($options['chart'])) {
             $options['chart']['renderTo'] = $chartId;
         } else {
             $options['chart'] = array('renderTo' => $chartId);
         }
         $jsOptions = CJSON::encode($options);
         if (isset($this->grid->chartOptions['htmlOptions']['data-config'])) {
             unset($this->grid->chartOptions['htmlOptions']['data-config']);
         }
         echo "<div id='{$chartId}' " . CHtml::renderAttributes($this->grid->chartOptions['htmlOptions']) . " data-config='{$jsOptions}'></div>";
         $this->grid->componentsAfterAjaxUpdate[] = "highchart{$chartId} = new Highcharts.Chart(\$('#{$chartId}').data('config'));";
     }
     $configChart = array('class' => 'yiiwheels.widgets.highcharts.WhHighCharts', 'id' => $chartId, 'pluginOptions' => $options, 'htmlOptions' => $this->grid->chartOptions['htmlOptions']);
     $chart = Yii::createComponent($configChart);
     $chart->init();
     $chart->run();
     echo '</div>';
 }
Exemplo n.º 15
0
 /**
  * Generates a check box.
  * @param string $name the input name
  * @param boolean $checked whether the check box is checked
  * @param array $htmlOptions additional HTML attributes. Besides normal HTML attributes, a few special
  * attributes are also recognized (see {@link clientChange} and {@link tag} for more details.)
  * Since version 1.1.2, a special option named 'uncheckValue' is available that can be used to specify
  * the value returned when the checkbox is not checked. When set, a hidden field is rendered so that
  * when the checkbox is not checked, we can still obtain the posted uncheck value.
  * If 'uncheckValue' is not set or set to NULL, the hidden field will not be rendered.
  * @return string the generated check box
  * @see clientChange
  * @see inputField
  */
 public static function checkBox($name, $checked = false, $htmlOptions = array())
 {
     $label = self::popOption('label', $htmlOptions, '');
     $labelOptions = self::popOption('labelOptions', $htmlOptions, array());
     $checkBox = CHtml::checkBox($name, $checked, $htmlOptions);
     if ($label) {
         $labelOptions = self::addClassName('checkbox', $labelOptions);
         ob_start();
         echo '<label ' . CHtml::renderAttributes($labelOptions) . '>';
         echo $checkBox;
         echo $label;
         echo '</label>';
         return ob_get_clean();
     }
     return $checkBox;
 }
Exemplo n.º 16
0
/** @var TbActiveForm $form */
?>
<fieldset>

    <legend>
        <?php 
if ($this->backUrl) {
    echo CHtml::link('', $this->backUrl, array('class' => 'icon-back'));
}
?>
        <?php 
echo $this->title;
?>
    </legend>
        <?php 
echo '<', $this->listTag, CHtml::renderAttributes($this->listOptions), '>';
foreach ($this->listItemData as $item) {
    $this->controller->renderPartial($this->listItemView, array('item' => $item));
}
echo '</', $this->listTag, '>';
?>
</fieldset>
<div class="form-actions">
    <a href="<?php 
echo $this->addButtonLink;
?>
" class="btn-item-add"><i class="icon-plus"></i> <?php 
echo $this->addButtonText;
?>
</a>
    <?php 
Exemplo n.º 17
0
 /**
  * Construction of replacement array, actually doing it with redata
  *
  * @param $aQuestionQanda : array from qanda helper
  * @return aray of replacement for question.psptl
  **/
 public static function getQuestionReplacement($aQuestionQanda)
 {
     // Get the default replacement and set empty value by default
     $aReplacement = array("QID" => "", "SGQ" => "", "AID" => "", "QUESTION_CODE" => "", "QUESTION_NUMBER" => "", "QUESTION" => "", "QUESTION_TEXT" => "", "QUESTIONHELP" => "", "QUESTIONHELPPLAINTEXT" => "", "QUESTION_CLASS" => "", "QUESTION_MAN_CLASS" => "", "QUESTION_INPUT_ERROR_CLASS" => "", "ANSWER" => "", "QUESTION_HELP" => "", "QUESTION_VALID_MESSAGE" => "", "QUESTION_FILE_VALID_MESSAGE" => "", "QUESTION_MAN_MESSAGE" => "", "QUESTION_MANDATORY" => "", "QUESTION_ESSENTIALS" => "");
     if (!is_array($aQuestionQanda) || empty($aQuestionQanda[0])) {
         return $aReplacement;
     }
     $iQid = $aQuestionQanda[4];
     $lemQuestionInfo = LimeExpressionManager::GetQuestionStatus($iQid);
     $iSurveyId = Yii::app()->getConfig('surveyID');
     // Or : by SGQA of question ? by Question::model($iQid)->sid;
     $oSurveyId = Survey::model()->findByPk($iSurveyId);
     $sType = $lemQuestionInfo['info']['type'];
     // Core value : not replaced
     $aReplacement['QID'] = $iQid;
     $aReplacement['GID'] = $aQuestionQanda[6];
     // Not sure for aleatory : it's the real gid or the updated gid ? We need original gid or updated gid ?
     $aReplacement['SGQ'] = $aQuestionQanda[7];
     $aReplacement['AID'] = isset($aQuestionQanda[0]['aid']) ? $aQuestionQanda[0]['aid'] : "";
     $aReplacement['QUESTION_CODE'] = $aReplacement['QUESTION_NUMBER'] = "";
     $sCode = $aQuestionQanda[5];
     $iNumber = $aQuestionQanda[0]['number'];
     switch (Yii::app()->getConfig('showqnumcode')) {
         case 'both':
             $aReplacement['QUESTION_CODE'] = $sCode;
             $aReplacement['QUESTION_NUMBER'] = $iNumber;
             break;
         case 'number':
             $aReplacement['QUESTION_NUMBER'] = $iNumber;
             break;
         case 'number':
             $aReplacement['QUESTION_CODE'] = $sCode;
             break;
         case 'choose':
         default:
             switch ($oSurveyId->showqnumcode) {
                 case 'B':
                     // Both
                     $aReplacement['QUESTION_CODE'] = $sCode;
                     $aReplacement['QUESTION_NUMBER'] = $iNumber;
                     break;
                 case 'N':
                     $aReplacement['QUESTION_NUMBER'] = $iNumber;
                     break;
                 case 'C':
                     $aReplacement['QUESTION_CODE'] = $sCode;
                     break;
                 case 'X':
                 default:
                     break;
             }
             break;
     }
     $aReplacement['QUESTION'] = $aQuestionQanda[0]['all'];
     // Deprecated : only used in old template (very old)
     // Core value : user text
     $aReplacement['QUESTION_TEXT'] = $aQuestionQanda[0]['text'];
     $aReplacement['QUESTIONHELP'] = $lemQuestionInfo['info']['help'];
     // User help
     // To be moved in a extra plugin : QUESTIONHELP img adding
     $sTemplateDir = Template::model()->getTemplatePath($oSurveyId->template);
     $sTemplateUrl = Template::model()->getTemplateURL($oSurveyId->template);
     if (flattenText($aReplacement['QUESTIONHELP'], true, true) != '') {
         $aReplacement['QUESTIONHELP'] = Yii::app()->getController()->renderPartial('/survey/system/questionhelp/questionhelp', array('questionHelp' => $aReplacement['QUESTIONHELP']), true);
     }
     // Core value :the classes
     $aReplacement['QUESTION_CLASS'] = Question::getQuestionClass($sType);
     //get additional question classes from question attribute
     $aQuestionAttributes = getQuestionAttributeValues($aQuestionQanda[4]);
     //add additional classes
     if (isset($aQuestionAttributes['cssclass'])) {
         $aReplacement['QUESTION_CLASS'] .= " " . $aQuestionAttributes['cssclass'];
     }
     $aMandatoryClass = array();
     if ($lemQuestionInfo['info']['mandatory'] == 'Y') {
         $aMandatoryClass[] = 'mandatory';
     }
     if ($lemQuestionInfo['anyUnanswered'] && $_SESSION['survey_' . $iSurveyId]['maxstep'] != $_SESSION['survey_' . $iSurveyId]['step']) {
         $aMandatoryClass[] = 'missing';
     }
     $aReplacement['QUESTION_MAN_CLASS'] = !empty($aMandatoryClass) ? " " . implode(" ", $aMandatoryClass) : "";
     $aReplacement['QUESTION_INPUT_ERROR_CLASS'] = $aQuestionQanda[0]['input_error_class'];
     // Core value : LS text : EM and not
     $aReplacement['ANSWER'] = $aQuestionQanda[1];
     $aReplacement['QUESTION_HELP'] = $aQuestionQanda[0]['help'];
     // Core help only, not EM
     $aReplacement['QUESTION_VALID_MESSAGE'] = $aQuestionQanda[0]['valid_message'];
     // $lemQuestionInfo['validTip']
     $aReplacement['QUESTION_FILE_VALID_MESSAGE'] = $aQuestionQanda[0]['file_valid_message'];
     // $lemQuestionInfo['??']
     $aReplacement['QUESTION_MAN_MESSAGE'] = $aQuestionQanda[0]['man_message'];
     $aReplacement['QUESTION_MANDATORY'] = $aQuestionQanda[0]['mandatory'];
     // For QUESTION_ESSENTIALS
     $aHtmlOptions = array();
     if (!$lemQuestionInfo['relevant'] || $lemQuestionInfo['hidden']) {
         $aHtmlOptions['style'] = 'display: none;';
     }
     // Launch the event
     $event = new PluginEvent('beforeQuestionRender');
     // Some helper
     $event->set('surveyId', $iSurveyId);
     $event->set('type', $sType);
     $event->set('code', $sCode);
     $event->set('qid', $iQid);
     $event->set('gid', $aReplacement['GID']);
     // User text
     $event->set('text', $aReplacement['QUESTION_TEXT']);
     $event->set('questionhelp', $aReplacement['QUESTIONHELP']);
     // The classes
     $event->set('class', $aReplacement['QUESTION_CLASS']);
     $event->set('man_class', $aReplacement['QUESTION_MAN_CLASS']);
     $event->set('input_error_class', $aReplacement['QUESTION_INPUT_ERROR_CLASS']);
     // LS core text
     $event->set('answers', $aReplacement['ANSWER']);
     $event->set('help', $aReplacement['QUESTION_HELP']);
     $event->set('man_message', $aReplacement['QUESTION_MAN_MESSAGE']);
     $event->set('valid_message', $aReplacement['QUESTION_VALID_MESSAGE']);
     $event->set('file_valid_message', $aReplacement['QUESTION_FILE_VALID_MESSAGE']);
     // htmlOptions for container
     $event->set('aHtmlOptions', $aHtmlOptions);
     App()->getPluginManager()->dispatchEvent($event);
     // User text
     $aReplacement['QUESTION_TEXT'] = $event->get('text');
     $aReplacement['QUESTIONHELP'] = $event->get('questionhelp');
     $aReplacement['QUESTIONHELPPLAINTEXT'] = strip_tags(addslashes($aReplacement['QUESTIONHELP']));
     // The classes
     $aReplacement['QUESTION_CLASS'] = $event->get('class');
     $aReplacement['QUESTION_MAN_CLASS'] = $event->get('man_class');
     $aReplacement['QUESTION_INPUT_ERROR_CLASS'] = $event->get('input_error_class');
     // LS core text
     $aReplacement['ANSWER'] = $event->get('answers');
     $aReplacement['QUESTION_HELP'] = $event->get('help');
     $aReplacement['QUESTION_MAN_MESSAGE'] = $event->get('man_message');
     $aReplacement['QUESTION_VALID_MESSAGE'] = $event->get('valid_message');
     $aReplacement['QUESTION_FILE_VALID_MESSAGE'] = $event->get('file_valid_message');
     $aReplacement['QUESTION_MANDATORY'] = $event->get('mandatory', $aReplacement['QUESTION_MANDATORY']);
     // Always add id for QUESTION_ESSENTIALS
     $aHtmlOptions['id'] = "question{$iQid}";
     $aReplacement['QUESTION_ESSENTIALS'] = CHtml::renderAttributes($aHtmlOptions);
     return $aReplacement;
 }
Exemplo n.º 18
0
EOD;
O::app()->clientScript->registerScriptFile(O::app()->request->baseUrl . '/js/ui.dropdownchecklist-1.4-min.js', CClientScript::POS_END);
O::app()->clientScript->registerScript('division_select', $script, CClientScript::POS_READY);
if (!isset($htmlOptions)) {
    $htmlOptions = array();
}
if (isset($id)) {
    $htmlOptions['id'] = $id;
}
if (isset($class)) {
    $htmlOptions['class'] = $class;
} else {
    $htmlOptions['class'] = '';
}
$htmlOptions['class'] .= ' div_select';
if (!isset($selected)) {
    $selected = array();
}
$selected = array_reverse($selected);
?>
<select multiple="multiple"<?php 
echo CHtml::renderAttributes($htmlOptions);
?>
>
    <?php 
foreach ($this->getDivList() as $div) {
    echo '<option value="', $div->div_id, '"', isset($selected[$div->div_id]) ? ' selected="selected"' : '', '>', $div->name, '</option>';
}
?>
</select>