| Current Path : /home/pteabiscqq/www/plugins/system/lab5_cookie_commander/_admin/elements/ext/ |
| Current File : /home/pteabiscqq/www/plugins/system/lab5_cookie_commander/_admin/elements/ext/changelog.php |
<?php
/**
* Cookie Commander
*
* @author : Lab5 - Dennis Riegelsberger
* @authorUrl : https://lab5.ch
* @copyright : Copyright (C) 2018+ Lab5 - Dennis Riegelsberger. All rights reserved.
* @license : GNU/GPL General Public License version 2 or later
* @project : https://lab5.ch/cookie-commander
* @on JED : https://extensions.joomla.org/extensions/extension/site-management/cookie-control/lab5-cookie-commander/
*
* Built with <3
* Lab5
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/**
* @CHANGELOG :
* * 2020.03.05 : Added extension differentiation "template"
* * 2020.08.27 : Added compatibility for use in component config.xml
*/
defined('_JEXEC') or die;
if(!defined('DS')) define('DS',DIRECTORY_SEPARATOR);
// jimport('joomla.form.formfield');
class JFormFieldChangelog extends JFormField {
/////////////////////////////////////////////////////
protected $type = 'Changelog';
/////////////////////////////////////////////////////
public function renderField($options = array()) {
/////////////////////////////////////////////////////
// renderField will NOT be called if field is in Component Config
return $this->getInput();
} ///////////////////////////////////////////////////
protected function getInput() {
/////////////////////////////////////////////////////
$extension = $this->form->getData();
if( !empty($extension->get('module', null)) ){ // MODULE :
$extension = $extension->get('module');
$extensionpath = "modules/".$extension ;
$configfile = JPATH_ROOT.'/'.$extensionpath.'/'.$extension.'.xml';
}elseif($extension->get('template', null)){ // TEMPLATE :
$extension = $extension->get('template');
$extensionpath = "templates/".$extension ;
$configfile = JPATH_ROOT.'/'.$extensionpath.'/templateDetails.xml';
}elseif($extension->get('folder') && $extension->get('element')){ // PLUGIN :
$folder = $extension->get('folder');
$extension = $extension->get('element');
$extensionpath = 'plugins/'.$folder.'/'.$extension ;
$configfile = JPATH_ROOT.'/'.$extensionpath.'/'.$extension.'.xml';
}else{ // COMPONENT :
$CUR_PATH = explode( DS, str_replace( JPATH_BASE, '', __DIR__ ) );
$extension = ( $CUR_PATH[0] ) ? $CUR_PATH[1] : $CUR_PATH[2] ; // wg. DS as first
$extensionpath = ( $CUR_PATH[0] ) ? $CUR_PATH[0] : $CUR_PATH[1] ; // wg. DS as first
$extensionpath = $extensionpath.'/'.$extension ;
if( str_replace( JPATH_ROOT, '', JPATH_BASE ) ){ // if Admin
$extensionpath = basename( str_replace( JPATH_ROOT, '', JPATH_BASE )).'/'.$extensionpath ;
}
$configfile = JPATH_ROOT.'/'.$extensionpath.'/'.(str_replace("com_", "", $extension)).'.xml';
}
// print_r($extension); exit;
/////////////////////////
$xml = simplexml_load_file($configfile);
/////////////////////////
$return = '<hr>';
$return .= '<h3>Changelog</h3>';
$return .= '<hr>';
$return .= '<dl class="lab5-changelog dl-horizontal list-striped ">';
foreach( $xml->changeLog->changeDate as $changeDate ){
$date = $changeDate->attributes()->date;
$return .= '<dt class="">'.$date.'</dt>';
foreach( $changeDate->change as $change ){
$return .= '<dd class="muted">'.$change.'</dd>';
}
}
$return .= '</dl>';
$return .= '<hr>';
/////////////////////////
return $return;
}
/////////////////////////////////////////////////////
}