HEX
Server: LiteSpeed
System: Linux dune179.sitesanctuary.org 5.14.0-427.40.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Oct 16 07:08:17 EDT 2024 x86_64
User: h278792 (1197)
PHP: 8.1.29
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: /home/h278792/public_html/wp-content/plugins/loco-translate/src/ajax/DownloadConfController.php
<?php
/**
 * Downloads a bundle configuration as XML or Json
 */
class Loco_ajax_DownloadConfController extends Loco_ajax_common_BundleController {
    
    
    /**
     * {@inheritdoc}
     */
    public function render(){
        
        $this->validate();
        $bundle = $this->getBundle();

        $file = new Loco_fs_File( $this->get('path') );

        // Download actual loco.xml file if bundle is configured from it
        if( 'file' === $bundle->isConfigured() && 'xml' === $file->extension() ){
            $file->normalize( $bundle->getDirectoryPath() );
            if( $file->readable() ){
                return $file->getContents(); 
            }
        }
        
        // else render temporary config file
        $writer = new Loco_config_BundleWriter($bundle);
        
        switch( $file->extension() ){
        case 'xml':
            return $writer->toXml();
        case 'json':
            return json_encode( $writer->jsonSerialize() );
        }
        
        // @codeCoverageIgnoreStart
        throw new Loco_error_Exception('Specify either XML or JSON file path');
    }
        
    
}