Esempio n. 1
0
 public function testCopyValues()
 {
     $a = array('key' => 'value');
     $b = array();
     $array = TbArray::copyValues(array('key'), $a, $b);
     $this->assertEquals($a, $array);
     $a = array('key' => 'value');
     $b = array('key' => 'other');
     $array = TbArray::copyValues(array('key'), $a, $b, true);
     $this->assertEquals($a, $array);
 }
Esempio n. 2
0
 /**
  * Generates a button toolbar.
  * @param array $groups the button group configurations.
  * @param array $htmlOptions additional HTML options.
  * @return string the generated button toolbar.
  */
 public static function buttonToolbar(array $groups, $htmlOptions = array())
 {
     if (!empty($groups)) {
         self::addCssClass('btn-toolbar', $htmlOptions);
         $parentOptions = array('color' => TbArray::popValue('color', $htmlOptions), 'size' => TbArray::popValue('size', $htmlOptions), 'disabled' => TbArray::popValue('disabled', $htmlOptions));
         $output = self::openTag('div', $htmlOptions);
         foreach ($groups as $groupOptions) {
             if (isset($groupOptions['visible']) && $groupOptions['visible'] === false) {
                 continue;
             }
             $items = TbArray::popValue('items', $groupOptions, array());
             if (empty($items)) {
                 continue;
             }
             // todo: consider removing the support for htmlOptions.
             $options = TbArray::popValue('htmlOptions', $groupOptions, array());
             if (!empty($options)) {
                 $groupOptions = TbArray::merge($options, $groupOptions);
             }
             $groupOptions = TbArray::copyValues(array('color', 'size', 'disabled'), $parentOptions, $groupOptions);
             $output .= self::buttonGroup($items, $groupOptions);
         }
         $output .= '</div>';
         return $output;
     }
     return '';
 }