/**
  * Iterates through the value_options & set the value option's appropriate class
  *
  * @param Element\MultiCheckbox $element
  * @return array
  */
 public function setOptionLabelAttributes(Element\MultiCheckbox $element)
 {
     $valueOptions = $element->getValueOptions();
     $elementClass = array_pop(explode('\\', get_class($element)));
     $labelClass = '';
     foreach ($valueOptions as $key => $spec) {
         if (!is_array($spec)) {
             continue;
         }
         if (!isset($spec['label_attributes'])) {
             $spec['label_attributes'] = array('class' => '');
         }
         if (is_scalar($spec['label_attributes'])) {
             $spec['label_attributes'] = array($spec['label_attributes']);
         }
         if (!isset($spec['label_attributes']['class'])) {
             $spec['label_attributes']['class'] = '';
         }
         switch ($elementClass) {
             case 'MultiCheckbox':
                 $labelClass = 'checkbox';
                 break;
             case 'Radio':
                 $labelClass = 'radio';
                 break;
         }
         $class = strstr($spec['label_attributes']['class'], $labelClass) === false ? ' ' . $labelClass : '';
         $spec['label_attributes']['class'] = trim($spec['label_attributes']['class'] . $class);
         $valueOptions[$key] = $spec;
     }
     return $valueOptions;
 }
示例#2
0
 public function testUnsetUndefinedValueOption()
 {
     $element = new MultiCheckboxElement();
     $element->setValueOptions(array('Option 1' => 'option1', 'Option 2' => 'option2', 'Option 3' => 'option3'));
     $element->unsetValueOption('Option Undefined');
     $valueOptions = $element->getValueOptions();
     $this->assertArrayNotHasKey('Option Undefined', $valueOptions);
 }