2017-08-25 01:46:12 +00:00
< ? php
2021-03-05 03:08:47 +00:00
/**
* @ package Joomla . Component . Builder
*
* @ created 30 th April , 2015
2022-07-09 15:45:08 +00:00
* @ author Llewellyn van der Merwe < https :// dev . vdm . io >
* @ git Joomla Component Builder < https :// git . vdm . dev / joomla / Component - Builder >
2021-03-05 03:08:47 +00:00
* @ copyright Copyright ( C ) 2015 Vast Development Method . All rights reserved .
* @ license GNU General Public License version 2 or later ; see LICENSE . txt
*/
// No direct access to this file
defined ( '_JEXEC' ) or die ( 'Restricted access' );
2024-03-02 20:10:30 +00:00
use Joomla\CMS\Factory ;
use Joomla\CMS\Language\Text ;
use Joomla\CMS\HTML\HTMLHelper as Html ;
2023-10-18 07:26:30 +00:00
use VDM\Joomla\Utilities\StringHelper ;
2024-03-02 20:10:30 +00:00
use VDM\Joomla\Utilities\ArrayHelper ;
use VDM\Joomla\Utilities\GetHelper ;
2021-03-05 03:08:47 +00:00
// set the defaults
2024-04-21 22:59:42 +00:00
$items = $displayData -> vydlinked_components ;
2024-03-02 20:10:30 +00:00
$user = Factory :: getUser ();
2021-03-05 03:08:47 +00:00
$id = $displayData -> item -> id ;
2018-08-18 12:09:17 +00:00
// set the edit URL
$edit = " index.php?option=com_componentbuilder&view=joomla_components&task=joomla_component.edit " ;
// set a return value
$return = ( $id ) ? " index.php?option=com_componentbuilder&view=server&layout=edit&id= " . $id : " " ;
// check for a return value
2024-03-02 20:10:30 +00:00
$jinput = Factory :: getApplication () -> input ;
2018-08-18 12:09:17 +00:00
if ( $_return = $jinput -> get ( 'return' , null , 'base64' ))
{
$return .= " &return= " . $_return ;
}
2019-03-04 12:47:28 +00:00
// check if return value was set
2024-03-02 20:10:30 +00:00
if ( StringHelper :: check ( $return ))
2019-03-04 12:47:28 +00:00
{
// set the referral values
$ref = ( $id ) ? " &ref=server&refid= " . $id . " &return= " . urlencode ( base64_encode ( $return )) : " &return= " . urlencode ( base64_encode ( $return ));
}
else
{
$ref = ( $id ) ? " &ref=server&refid= " . $id : " " ;
2021-03-05 03:08:47 +00:00
}
?>
< div class = " form-vertical " >
2024-03-02 20:10:30 +00:00
< ? php if ( ArrayHelper :: check ( $items )) : ?>
2017-08-25 01:46:12 +00:00
< table class = " footable table data joomla_components " data - show - toggle = " true " data - toggle - column = " first " data - sorting = " true " data - paging = " true " data - paging - size = " 20 " data - filtering = " true " >
< thead >
< tr >
< th data - type = " html " data - sort - use = " text " >
2024-03-02 20:10:30 +00:00
< ? php echo Text :: _ ( 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SYSTEM_NAME_LABEL' ); ?>
2017-08-25 01:46:12 +00:00
</ th >
< th data - breakpoints = " xs sm " data - type = " html " data - sort - use = " text " >
2024-03-02 20:10:30 +00:00
< ? php echo Text :: _ ( 'COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_CODE_NAME' ); ?>
2017-08-25 01:46:12 +00:00
</ th >
< th data - breakpoints = " xs sm " data - type = " html " data - sort - use = " text " >
2024-03-02 20:10:30 +00:00
< ? php echo Text :: _ ( 'COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_DESCRIPTION' ); ?>
2017-08-25 01:46:12 +00:00
</ th >
< th data - breakpoints = " xs sm md " data - type = " html " data - sort - use = " text " >
2024-03-02 20:10:30 +00:00
< ? php echo Text :: _ ( 'COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_COMPANY_DETAILS' ); ?>
2017-08-25 01:46:12 +00:00
</ th >
< th width = " 10 " data - breakpoints = " xs sm md " >
2024-03-02 20:10:30 +00:00
< ? php echo Text :: _ ( 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_STATUS' ); ?>
2017-08-25 01:46:12 +00:00
</ th >
< th width = " 5 " data - type = " number " data - breakpoints = " xs sm md " >
2024-03-02 20:10:30 +00:00
< ? php echo Text :: _ ( 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ID' ); ?>
2017-08-25 01:46:12 +00:00
</ th >
</ tr >
</ thead >
< tbody >
< ? php foreach ( $items as $i => $item ) : ?>
< ? php
$canCheckin = $user -> authorise ( 'core.manage' , 'com_checkin' ) || $item -> checked_out == $user -> id || $item -> checked_out == 0 ;
2024-03-02 20:10:30 +00:00
$userChkOut = Factory :: getUser ( $item -> checked_out );
2017-08-25 01:46:12 +00:00
$canDo = ComponentbuilderHelper :: getActions ( 'joomla_component' , $item , 'joomla_components' );
?>
< tr >
2018-05-24 13:56:56 +00:00
< td >
2018-08-19 20:15:43 +00:00
< div >
2017-10-14 18:07:23 +00:00
< ? php if ( $canDo -> get ( 'joomla_component.edit' )) : ?>
2018-08-18 12:09:17 +00:00
< a href = " <?php echo $edit ; ?>&id=<?php echo $item->id ; ?><?php echo $ref ; ?> " >< ? php echo $displayData -> escape ( $item -> system_name ); ?> </a>
2018-05-24 13:56:56 +00:00
< ? php if ( $item -> checked_out ) : ?>
2024-03-02 20:10:30 +00:00
< ? php echo Html :: _ ( 'jgrid.checkedout' , $i , $userChkOut -> name , $item -> checked_out_time , 'joomla_components.' , $canCheckin ); ?>
2018-05-24 13:56:56 +00:00
< ? php endif ; ?>
2017-08-25 01:46:12 +00:00
< ? php else : ?>
2018-05-24 13:56:56 +00:00
< ? php echo $displayData -> escape ( $item -> system_name ); ?>
2018-08-19 20:15:43 +00:00
< ? php endif ; ?>
- < ? php echo $this -> escape ( $item -> component_version ); ?>
</ div >
2019-07-28 21:48:42 +00:00
< ? php
2019-11-08 16:07:08 +00:00
// always make sure the $this->return_here is set
if ( ! isset ( $this -> return_here ))
{
2024-03-02 20:10:30 +00:00
$this -> return_here = urlencode ( base64_encode (( string ) Uri :: getInstance ()));
2019-11-08 16:07:08 +00:00
}
2018-08-19 20:15:43 +00:00
// setup the buttons
2023-10-18 07:26:30 +00:00
if ( ! isset ( $_buttons ) || ! ArrayHelper :: check ( $_buttons ))
2018-08-19 20:15:43 +00:00
{
$_buttons = array ();
$_buttons [ 0 ] = array (
array (
'view' => 'component_admin_views' ,
'views' => 'components_admin_views' ,
2024-03-02 20:10:30 +00:00
'title' => Text :: _ ( 'COM_COMPONENTBUILDER_THE_COMPONENT_ADMIN_VIEWS' ),
2018-08-19 20:15:43 +00:00
'icon' => 'stack' ),
array (
'view' => 'component_custom_admin_views' ,
'views' => 'components_custom_admin_views' ,
2024-03-02 20:10:30 +00:00
'title' => Text :: _ ( 'COM_COMPONENTBUILDER_THE_COMPONENT_CUSTOM_ADMIN_VIEWS' ),
2018-08-19 20:15:43 +00:00
'icon' => 'screen' ),
array (
'view' => 'component_site_views' ,
'views' => 'components_site_views' ,
2024-03-02 20:10:30 +00:00
'title' => Text :: _ ( 'COM_COMPONENTBUILDER_THE_COMPONENT_SITE_VIEWS' ),
2018-08-19 20:15:43 +00:00
'icon' => 'palette' ),
2024-03-02 20:10:30 +00:00
array (
'view' => 'component_router' ,
'views' => 'components_routers' ,
'title' => Text :: _ ( 'COM_COMPONENTBUILDER_THE_COMPONENT_SITE_ROUTER' ),
'icon' => 'tree-2' ),
2018-08-19 20:15:43 +00:00
array (
'view' => 'component_config' ,
'views' => 'components_config' ,
2024-03-02 20:10:30 +00:00
'title' => Text :: _ ( 'COM_COMPONENTBUILDER_THE_COMPONENT_CONFIG' ),
2018-08-19 20:15:43 +00:00
'icon' => 'options' )
);
$_buttons [ 1 ] = array (
2019-02-15 22:03:21 +00:00
array (
'view' => 'component_placeholders' ,
'views' => 'components_placeholders' ,
2024-03-02 20:10:30 +00:00
'title' => Text :: _ ( 'COM_COMPONENTBUILDER_THE_COMPONENT_PLACEHOLDERS' ),
2019-02-15 22:03:21 +00:00
'icon' => 'search' ),
2018-08-19 20:15:43 +00:00
array (
'view' => 'component_updates' ,
'views' => 'components_updates' ,
2024-03-02 20:10:30 +00:00
'title' => Text :: _ ( 'COM_COMPONENTBUILDER_THE_COMPONENT_UPDATES' ),
2018-08-19 20:15:43 +00:00
'icon' => 'database' ),
array (
'view' => 'component_mysql_tweaks' ,
'views' => 'components_mysql_tweaks' ,
2024-03-02 20:10:30 +00:00
'title' => Text :: _ ( 'COM_COMPONENTBUILDER_THE_COMPONENT_MYSQL_TWEAKS' ),
2018-08-19 20:15:43 +00:00
'icon' => 'screwdriver' ),
array (
'view' => 'component_files_folders' ,
'views' => 'components_files_folders' ,
2024-03-02 20:10:30 +00:00
'title' => Text :: _ ( 'COM_COMPONENTBUILDER_THE_COMPONENT_FILES_FOLDERS' ),
2018-08-19 20:15:43 +00:00
'icon' => 'briefcase' )
);
$_buttons [ 2 ] = array (
array (
'view' => 'component_custom_admin_menus' ,
'views' => 'components_custom_admin_menus' ,
2024-03-02 20:10:30 +00:00
'title' => Text :: _ ( 'COM_COMPONENTBUILDER_THE_COMPONENT_CUSTOM_ADMIN_MENUS' ),
2018-08-19 20:15:43 +00:00
'icon' => 'plus' ),
array (
'view' => 'component_dashboard' ,
'views' => 'components_dashboard' ,
2024-03-02 20:10:30 +00:00
'title' => Text :: _ ( 'COM_COMPONENTBUILDER_THE_COMPONENT_DASHBOARD' ),
2019-07-17 02:36:05 +00:00
'icon' => 'dashboard' ),
2019-12-06 05:31:32 +00:00
array (
'view' => 'component_modules' ,
'views' => 'components_modules' ,
2024-03-02 20:10:30 +00:00
'title' => Text :: _ ( 'COM_COMPONENTBUILDER_THE_COMPONENT_MODULES' ),
2019-12-06 05:31:32 +00:00
'icon' => 'cube' ),
2019-07-17 02:36:05 +00:00
array (
'view' => 'component_plugins' ,
'views' => 'components_plugins' ,
2024-03-02 20:10:30 +00:00
'title' => Text :: _ ( 'COM_COMPONENTBUILDER_THE_COMPONENT_PLUGINS' ),
2019-07-17 02:36:05 +00:00
'icon' => 'power-cord' )
2018-08-19 20:15:43 +00:00
);
}
?>
< div class = " btn-group " style = " margin: 5px 0 0 0; " >
< ? php foreach ( $_buttons [ 0 ] as $_button ) : ?>
2024-03-02 20:10:30 +00:00
< ? php if ( $canDo -> get ( $_button [ 'view' ] . '.edit' ) && ( $id = GetHelper :: var ( $_button [ 'view' ], $item -> id , 'joomla_component' , 'id' )) !== false ) : ?>
2019-07-28 21:48:42 +00:00
< a class = " hasTooltip btn btn-mini " href = " index.php?option=com_componentbuilder&view=<?php echo $_button['views'] ?>&task=<?php echo $_button['view'] ?>.edit&id=<?php echo $id ; ?>&return=<?php echo $this->return_here ; ?> " title = " <?php echo $_button['title'] ; ?> " >< span class = " icon-<?php echo $_button['icon'] ; ?> " ></ span ></ a >
2018-08-19 20:15:43 +00:00
< ? php elseif ( $canDo -> get ( $_button [ 'view' ] . '.create' )) : ?>
2019-07-28 21:48:42 +00:00
< a class = " hasTooltip btn btn-mini " href = " index.php?option=com_componentbuilder&view=<?php echo $_button['views'] ?>&task=<?php echo $_button['view'] ?>.edit&ref=joomla_component&refid=<?php echo $item->id ; ?>&return=<?php echo $this->return_here ; ?> " title = " <?php echo $_button['title'] ; ?> " >< span class = " icon-<?php echo $_button['icon'] ; ?> " ></ span ></ a >
2018-08-19 20:15:43 +00:00
< ? php endif ; ?>
2024-03-02 20:10:30 +00:00
< ? php endforeach ; ?>
2018-08-19 20:15:43 +00:00
</ div >
2017-08-25 01:46:12 +00:00
</ td >
< td >
2018-08-19 20:15:43 +00:00
< div >
< ? php echo $displayData -> escape ( $item -> name_code ); ?>
</ div >
< div class = " btn-group " style = " margin: 5px 0 0 0; " >
< ? php foreach ( $_buttons [ 1 ] as $_button ) : ?>
2024-03-02 20:10:30 +00:00
< ? php if ( $canDo -> get ( $_button [ 'view' ] . '.edit' ) && ( $id = GetHelper :: var ( $_button [ 'view' ], $item -> id , 'joomla_component' , 'id' )) !== false ) : ?>
2019-07-28 21:48:42 +00:00
< a class = " hasTooltip btn btn-mini " href = " index.php?option=com_componentbuilder&view=<?php echo $_button['views'] ?>&task=<?php echo $_button['view'] ?>.edit&id=<?php echo $id ; ?>&return=<?php echo $this->return_here ; ?> " title = " <?php echo $_button['title'] ; ?> " >< span class = " icon-<?php echo $_button['icon'] ; ?> " ></ span ></ a >
2018-08-19 20:15:43 +00:00
< ? php elseif ( $canDo -> get ( $_button [ 'view' ] . '.create' )) : ?>
2019-07-28 21:48:42 +00:00
< a class = " hasTooltip btn btn-mini " href = " index.php?option=com_componentbuilder&view=<?php echo $_button['views'] ?>&task=<?php echo $_button['view'] ?>.edit&ref=joomla_component&refid=<?php echo $item->id ; ?>&return=<?php echo $this->return_here ; ?> " title = " <?php echo $_button['title'] ; ?> " >< span class = " icon-<?php echo $_button['icon'] ; ?> " ></ span ></ a >
2018-08-19 20:15:43 +00:00
< ? php endif ; ?>
< ? php endforeach ; ?>
</ div >
2017-08-25 01:46:12 +00:00
</ td >
< td >
2018-08-19 20:15:43 +00:00
< div >
< ? php echo $displayData -> escape ( $item -> short_description ); ?>
</ div >
< div class = " btn-group " style = " margin: 5px 0 0 0; " >
< ? php foreach ( $_buttons [ 2 ] as $_button ) : ?>
2024-03-02 20:10:30 +00:00
< ? php if ( $canDo -> get ( $_button [ 'view' ] . '.edit' ) && ( $id = GetHelper :: var ( $_button [ 'view' ], $item -> id , 'joomla_component' , 'id' )) !== false ) : ?>
2019-07-28 21:48:42 +00:00
< a class = " hasTooltip btn btn-mini " href = " index.php?option=com_componentbuilder&view=<?php echo $_button['views'] ?>&task=<?php echo $_button['view'] ?>.edit&id=<?php echo $id ; ?>&return=<?php echo $this->return_here ; ?> " title = " <?php echo $_button['title'] ; ?> " >< span class = " icon-<?php echo $_button['icon'] ; ?> " ></ span ></ a >
2018-08-19 20:15:43 +00:00
< ? php elseif ( $canDo -> get ( $_button [ 'view' ] . '.create' )) : ?>
2019-07-28 21:48:42 +00:00
< a class = " hasTooltip btn btn-mini " href = " index.php?option=com_componentbuilder&view=<?php echo $_button['views'] ?>&task=<?php echo $_button['view'] ?>.edit&ref=joomla_component&refid=<?php echo $item->id ; ?>&return=<?php echo $this->return_here ; ?> " title = " <?php echo $_button['title'] ; ?> " >< span class = " icon-<?php echo $_button['icon'] ; ?> " ></ span ></ a >
2018-08-19 20:15:43 +00:00
< ? php endif ; ?>
< ? php endforeach ; ?>
</ div >
2017-08-25 01:46:12 +00:00
</ td >
< td >
2018-08-19 20:15:43 +00:00
< div >< b >< ? php echo $this -> escape ( $item -> companyname ); ?> </b><br />
2023-10-18 07:26:30 +00:00
< ? php if ( StringHelper :: check ( $item -> author )) : ?>
2018-08-19 20:15:43 +00:00
< em >< ? php echo $this -> escape ( $item -> author ); ?> <em><br />
< ? php endif ; ?>
2023-10-18 07:26:30 +00:00
< ? php if ( StringHelper :: check ( $item -> email ) && StringHelper :: check ( $item -> author )) : ?>
2024-03-02 20:10:30 +00:00
< a href = " mailto:<?php echo $this->escape ( $item->email ); ?> " title = " <?php echo Text::sprintf('COM_COMPONENTBUILDER_EMAIL_S', $item->author ); ?> " target = " _blank " >
2018-08-19 20:15:43 +00:00
< ? php echo $this -> escape ( $item -> email ); ?>
</ a >
< br />
< ? php endif ; ?>
2023-10-18 07:26:30 +00:00
< ? php if ( StringHelper :: check ( $item -> website ) && StringHelper :: check ( $item -> author )) : ?>
2024-03-02 20:10:30 +00:00
< a href = " <?php echo $this->escape ( $item->website ); ?> " title = " <?php echo Text::sprintf('COM_COMPONENTBUILDER_WEBSITE_OF_S', $item->companyname ); ?> " target = " _blank " >
2018-08-19 20:15:43 +00:00
< ? php echo $this -> escape ( $item -> website ); ?>
</ a >
< ? php endif ; ?>
</ div >
2017-08-25 01:46:12 +00:00
</ td >
2020-09-15 16:59:20 +00:00
< ? php if ( $item -> published == 1 ) : ?>
2017-08-25 01:46:12 +00:00
< td class = " center " data - sort - value = " 1 " >
2024-03-02 20:10:30 +00:00
< span class = " status-metro status-published " title = " <?php echo Text::_('COM_COMPONENTBUILDER_PUBLISHED'); ?> " >
< ? php echo Text :: _ ( 'COM_COMPONENTBUILDER_PUBLISHED' ); ?>
2017-08-25 01:46:12 +00:00
</ span >
</ td >
2020-09-15 16:59:20 +00:00
< ? php elseif ( $item -> published == 0 ) : ?>
2017-08-25 01:46:12 +00:00
< td class = " center " data - sort - value = " 2 " >
2024-03-02 20:10:30 +00:00
< span class = " status-metro status-inactive " title = " <?php echo Text::_('COM_COMPONENTBUILDER_INACTIVE'); ?> " >
< ? php echo Text :: _ ( 'COM_COMPONENTBUILDER_INACTIVE' ); ?>
2017-08-25 01:46:12 +00:00
</ span >
</ td >
2020-09-15 16:59:20 +00:00
< ? php elseif ( $item -> published == 2 ) : ?>
2017-08-25 01:46:12 +00:00
< td class = " center " data - sort - value = " 3 " >
2024-03-02 20:10:30 +00:00
< span class = " status-metro status-archived " title = " <?php echo Text::_('COM_COMPONENTBUILDER_ARCHIVED'); ?> " >
< ? php echo Text :: _ ( 'COM_COMPONENTBUILDER_ARCHIVED' ); ?>
2017-08-25 01:46:12 +00:00
</ span >
</ td >
2020-09-15 16:59:20 +00:00
< ? php elseif ( $item -> published == - 2 ) : ?>
2017-08-25 01:46:12 +00:00
< td class = " center " data - sort - value = " 4 " >
2024-03-02 20:10:30 +00:00
< span class = " status-metro status-trashed " title = " <?php echo Text::_('COM_COMPONENTBUILDER_TRASHED'); ?> " >
< ? php echo Text :: _ ( 'COM_COMPONENTBUILDER_TRASHED' ); ?>
2017-08-25 01:46:12 +00:00
</ span >
</ td >
< ? php endif ; ?>
< td class = " nowrap center hidden-phone " >
< ? php echo $item -> id ; ?>
</ td >
</ tr >
< ? php endforeach ; ?>
</ tbody >
</ table >
< ? php else : ?>
< div class = " alert alert-no-items " >
2024-03-02 20:10:30 +00:00
< ? php echo Text :: _ ( 'JGLOBAL_NO_MATCHING_RESULTS' ); ?>
2017-08-25 01:46:12 +00:00
</ div >
2021-03-05 03:08:47 +00:00
< ? php endif ; ?>
</ div >