/** * Get all meta data from a certain panel * @return array */ public function get($panel) { if (!is_file(Shopware()->DocPath()."/files/config/Panels.xml")) { return false; } $xml = new Shopware_Components_Xml_SimpleXml(); $xml->loadFile(Shopware()->DocPath()."/files/config/Panels.xml"); $xpath = '//Panel[@name="'.$panel.'"]'; $WidgetMainNode = $xml->SimpleXML->firstOf($xpath); if (!$WidgetMainNode) { throw new Enlight_Exception("Panel $panel not found"); } $result = $xml->nodeToArray($WidgetMainNode); return $result; }
/** * Update widget permissions * @param $name * @param $rights * @return bool */ public function updatePermissions($name,$rights) { $XML = new Shopware_Components_Xml_SimpleXml(); $XML->loadFile($this->widgetXML); $XML->SimpleXML->removeNodes('//Widget[@name="'.$name.'"]//permissions'); $search = '//Widget[@name="'.$name.'"]'; $temp = $XML->SimpleXML->firstOf($search); $permissions = $temp->addChild("permissions"); $permissions->addChild("aclGroup",$rights["aclGroup"]); $users = $permissions->addChild("Users"); foreach ($rights["users"] as $user) { $users->addChild("user")->addAttribute("id",$user); } $XML->SimpleXML->replaceNodes('//Widget[@name="'.$name.'"]',$temp); $XML->setFilename($this->widgetXML); $XML->save(); return true; }