$link_id = trim($dom_link->getAttribute('l')); if (!$link_id) { throw new Exception('menu plugin: link id cannot be empty.'); } $dom_link->removeAttribute('l'); } else { $link_id = null; } // add placeholders $placeholders = array(); $placeholders['class'] = '--' . FWU::randomString() . '--'; if ($dom_link->hasAttribute('class')) { $dom_link->setAttribute('class', trim($dom_link->getAttribute('class') . ' ' . $placeholders['class'])); } else { $dom_link->setAttribute('class', $placeholders['class']); } if (!$dom_link->hasAttribute('id')) { $placeholders['id'] = '--' . FWU::randomString() . '--'; $dom_link->setAttribute('id', $placeholders['id']); } else { $placeholders['id'] = null; } // add to $links array $links[] = array('id' => $link_id, 'placeholders' => $placeholders); } // done return array('links' => $links, 'html' => preg_replace('|^\\s*<\\?xml version="1.0"\\?>\\s*<root>(.*)</root>\\s*$|s', '$1', $dom->saveXML())); } } FWErrorHandler::relax(E_WARNING, dirname(__FILE__) . '/../vendor/dwoo', 'No such file or directory');