function merge(Iconset $iconset, $over = true) { $tag = $iconset->tag(); $prepend = $iconset->prepend(); $append = $iconset->append(); $class = $iconset->getClass(); foreach ($iconset->icons() as $name => $icon) { if (!isset($this->icons[$name]) || $over) { if (empty($icon['tag']) && $tag && $this->tag !== $tag) { $icon['tag'] = $tag; } if (empty($icon['prepend']) && $prepend && $this->prepend !== $prepend) { $icon['prepend'] = $prepend; } if (empty($icon['append']) && $append && $this->append !== $append) { $icon['append'] = $append; } if (empty($icon['class']) && $class && $this->class !== $class) { $icon['class'] = $class; } $this->icons[$name] = $icon; } } if (isset($iconset->defaults) && count($iconset->defaults > 0)) { foreach ($iconset->defaults as $defname) { if (!isset($this->icons[$defname]) || $over) { $deficon['id'] = $defname; $deficon['tag'] = $tag; $deficon['prepend'] = $prepend; $deficon['append'] = $append; $this->icons[$defname] = $deficon; } } } }