Subversion Repositories enhancedezbinaryfile

[/] [autoloads/] [templateparsexmloperator.php] - Diff between revs 2 and 3

Show entire file | Ignore whitespace | Details | Blame | View Log

Rev 2 Rev 3
Line 1... Line 1...
<?
<?
/*!
/*!
  \class   TemplateParseXMLOperator templateparsexmloperator.php
  \class   TemplateParseXMLOperator templateparsexmloperator.php
  \ingroup eZTemplateOperators
  \ingroup eZTemplateOperators
  \brief   Handles template operator parsexml
  \brief   Handles template operator parsexml
  \version 1.0
  \version 2.0
  \date    Tuesday 28 December 2004 1:02:09 pm
  \date    20 April 2009
  \author  Administrator User
  \author  Administrator User
 
 
  By using parsexml you can ...
  By using parsexml you can ...
 
 
  Example:
  Example:
\code
\code
{$value|parsexml|wash}
{$value|parsexml|wash}
\endcode
\endcode
*/
*/
 
 
include_once( 'lib/ezxml/classes/ezxml.php' );
 
 
 
class TemplateParseXMLOperator
class TemplateParseXMLOperator
{
{
    /*!
    /*!
      Constructor, does nothing by default.
      Constructor, does nothing by default.
    */
    */
    function TemplateParseXMLOperator()
    function TemplateParseXMLOperator()
    {
    {
        $this->Operators = array( 'parsexml' );
        $this->Operators = array( 'parsexml','filecheck' );
    }
    }
 
 
    /*!
    /*!
     \return an array with the template operator name.
     \return an array with the template operator name.
    */
    */
Line 47... Line 45...
    */
    */
    function namedParameterList()
    function namedParameterList()
    {
    {
        return array( 'parsexml' => array( 'first_param' => array( 'type' => 'string',
        return array( 'parsexml' => array( 'first_param' => array( 'type' => 'string',
                                                                    'required' => false,
                                                                    'required' => false,
                                                                    'default' => 'default text' ) ) );
                                                                    'default' => 'default text' ) ));
    }
    }
    /*!
    /*!
     Executes the PHP function for the operator cleanup and modifies \a $operatorValue.
     Executes the PHP function for the operator cleanup and modifies \a $operatorValue.
    */
    */
    function modify( &$tpl, &$operatorName, &$operatorParameters, &$rootNamespace, &$currentNamespace, &$operatorValue, &$namedParameters )
    function modify( $tpl, $operatorName, $operatorParameters, $rootNamespace, $currentNamespace, &$operatorValue, $namedParameters )
    {
    {
        $firstParam = $namedParameters['first_param'];
        $firstParam = $namedParameters['first_param'];
 
 
        switch ( $operatorName )
        switch ( $operatorName )
        {
        {
            case 'parsexml':
            case 'parsexml':
            {
            {
                $xmlText = $operatorValue;
                if ( trim( $operatorValue ) != '' )
                $fileAttachments=array();
                {
                                if ( trim( $xmlText ) != '' )
                        $dom = new DOMDocument( '1.0', 'utf-8' );
                                {
                        if ($dom->loadXML( $operatorValue ))
                                        $xml = new eZXML();
                        {      
                                        $dom = $xml->domTree( $xmlText );
                                $FileAttributeValue = $dom->getElementsByTagName( $firstParam )->item(0)->textContent;
                                        if ($dom)
                                if( !$FileAttributeValue )
                                        {
                                        $FileAttributeValue = $dom->getElementsByTagName( $firstParam )->item(0)->getAttribute('value');
                                                $root = $dom->root('binaryfile-info');
                        }
                                                $binaryFile = $root->elementByName( 'binaryfile-attributes' );
                        $operatorValue=$FileAttributeValue;
                                                $FileAttribute = $binaryFile->elementByName(  $firstParam );
                }
                                                $FileAttributeValue = $FileAttribute->attributeValue( 'value' );
            } break;
                                        }
            case 'filecheck':
                                }
            {
                $operatorValue=$FileAttributeValue;
                if ( trim( $operatorValue ) != '' )
 
                {
 
                        $dom = new DOMDocument( '1.0', 'utf-8' );
 
                        if ($dom->loadXML( $operatorValue ))
 
                        {      
 
                                $FileAttributeValue = $dom->getElementsByTagName( 'Filename' )->item(0)->textContent;
 
                                if( !$FileAttributeValue )
 
                                        $FileAttributeValue = $dom->getElementsByTagName( 'Filename' )->item(0)->getAttribute('value');
 
                        }
 
                        if(file_exists(eZSys::wwwDir().$FileAttributeValue)){
 
                                $operatorValue=true;
 
                        } else {
 
                                $operatorValue=false;
 
                        }
 
                }
            } break;
            } break;
        }
        }
    }
    }
}
}
?>
?>