Exemplo n.º 1
0
    /**
     * 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;
    }
Exemplo n.º 2
0
    /**
     * 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;
    }