Esempio n. 1
0
 public static function create($value)
 {
     if (!is_array($value) || !Arrays::isAssoc($value)) {
         throw new \InvalidArgumentException('Map requires an associative array');
     }
     return parent::create($value);
 }
Esempio n. 2
0
 /**
  * @param array $array
  *
  * @return $this
  * @throws \Exception
  */
 public function addWordsByArray(array $array)
 {
     if (Arrays::isAssoc($array)) {
         foreach ($array as $word => $data) {
             $this->addWord($word, $data);
         }
     } else {
         foreach ($array as $word) {
             $this->addWord($word);
         }
     }
     return $this;
 }
Esempio n. 3
0
 /**
  * Check to see if an array is associative
  *
  * @param array $array
  *
  * @return bool
  *
  * @deprecated
  */
 function is_assoc(array $array)
 {
     return \Packaged\Helpers\Arrays::isAssoc($array);
 }
Esempio n. 4
0
 public function testIsAssociativeArray()
 {
     $this->assertTrue(Arrays::isAssoc(["a" => "A", "b" => "B"]));
     $this->assertFalse(Arrays::isAssoc(["A", "B"]));
 }
Esempio n. 5
0
 public function renderSelect(FormElement $element)
 {
     $out = '<select';
     $out .= $this->_renderAttributes($element);
     $out .= '>';
     $values = $element->getOption('values', []);
     foreach ($values as $key => $val) {
         $disabled = false;
         if (is_array($val)) {
             if (Arrays::isAssoc($val)) {
                 $disabled = isset($val['disabled']);
                 if (isset($val['id'])) {
                     $value = $val['id'];
                 } else {
                     if (isset($val['value'])) {
                         $value = $val['value'];
                     } else {
                         $value = reset($val);
                     }
                 }
                 if (isset($val['text'])) {
                     $text = $val['text'];
                 } else {
                     if (isset($val['display'])) {
                         $text = $val['display'];
                     } else {
                         $text = current($val);
                     }
                 }
             } else {
                 $value = current($val);
                 $text = next($val);
             }
         } else {
             $text = $val;
             $value = $key;
         }
         $out .= '<option value="' . $value . '"';
         if (is_array($element->getValue())) {
             if (in_array((string) $value, $element->getValue())) {
                 $out .= ' selected="selected"';
             }
         } else {
             if ((string) $element->getValue() === (string) $value) {
                 $out .= ' selected="selected"';
             }
         }
         if ($disabled) {
             $out .= ' disabled';
         }
         $out .= '>';
         $out .= $text;
         $out .= '</option>';
     }
     $out .= '</select>';
     return $out;
 }