2023-07-26 09:09:42 +00:00
< ? php
/*----------------------------------------------------------------------------------| io . vdm . dev |----/
Vast Development Method
/-------------------------------------------------------------------------------------------------------/
@ package getBible . net
@ created 3 rd December , 2015
@ author Llewellyn van der Merwe < https :// getbible . net >
@ git Get Bible < https :// git . vdm . dev / getBible >
@ github Get Bible < https :// github . com / getBible >
@ support Get Bible < https :// git . vdm . dev / getBible / support >
@ copyright Copyright ( C ) 2015. All Rights Reserved
@ license GNU / GPL Version 2 or later - http :// www . gnu . org / licenses / gpl - 2.0 . html
/------------------------------------------------------------------------------------------------------*/
2023-12-23 16:05:05 +00:00
use Joomla\CMS\Factory ;
use Joomla\CMS\Language\Text ;
use Joomla\CMS\HTML\HTMLHelper as Html ;
2024-07-15 07:58:20 +00:00
use TrueChristianBible\Component\GetBible\Administrator\Helper\GetbibleHelper ;
use TrueChristianBible\Joomla\Utilities\StringHelper ;
use TrueChristianBible\Joomla\Utilities\ArrayHelper ;
2023-12-23 16:05:05 +00:00
2024-01-29 07:31:35 +00:00
// No direct access to this file
defined ( '_JEXEC' ) or die ;
2023-07-26 09:09:42 +00:00
// set the defaults
$items = $displayData -> vvymessage ;
2024-01-23 17:16:25 +00:00
$user = Factory :: getApplication () -> getIdentity ();
2023-07-26 09:09:42 +00:00
$id = $displayData -> item -> id ;
// set the edit URL
$edit = " index.php?option=com_getbible&view=open_ai_messages&task=open_ai_message.edit " ;
// set a return value
$return = ( $id ) ? " index.php?option=com_getbible&view=open_ai_response&layout=edit&id= " . $id : " " ;
// check for a return value
2023-12-23 16:05:05 +00:00
$jinput = Factory :: getApplication () -> input ;
2023-07-26 09:09:42 +00:00
if ( $_return = $jinput -> get ( 'return' , null , 'base64' ))
{
$return .= " &return= " . $_return ;
}
// check if return value was set
2023-12-23 16:05:05 +00:00
if ( StringHelper :: check ( $return ))
2023-07-26 09:09:42 +00:00
{
// set the referral values
$ref = ( $id ) ? " &ref=open_ai_response&refid= " . $id . " &return= " . urlencode ( base64_encode ( $return )) : " &return= " . urlencode ( base64_encode ( $return ));
}
else
{
$ref = ( $id ) ? " &ref=open_ai_response&refid= " . $id : " " ;
}
?>
< div class = " form-vertical " >
2024-01-23 17:16:25 +00:00
< ? php if ( ArrayHelper :: check ( $items )) : ?>
2023-08-04 15:13:55 +00:00
< table class = " footable table data open_ai_messages " data - show - toggle = " true " data - toggle - column = " first " data - sorting = " true " data - paging = " true " data - paging - size = " 20 " data - filtering = " true " >
2023-07-26 09:09:42 +00:00
< thead >
< tr >
2023-08-04 15:13:55 +00:00
< th data - type = " html " data - sort - use = " text " >
2023-12-23 16:05:05 +00:00
< ? php echo Text :: _ ( 'COM_GETBIBLE_OPEN_AI_MESSAGE_ROLE_LABEL' ); ?>
2023-07-26 09:09:42 +00:00
</ th >
2023-08-04 15:13:55 +00:00
< th data - breakpoints = " xs sm " data - type = " html " data - sort - use = " text " >
2023-12-23 16:05:05 +00:00
< ? php echo Text :: _ ( 'COM_GETBIBLE_OPEN_AI_MESSAGE_OPEN_AI_RESPONSE_LABEL' ); ?>
2023-07-26 09:09:42 +00:00
</ th >
2023-08-04 15:13:55 +00:00
< th data - breakpoints = " xs sm " data - type = " html " data - sort - use = " text " >
2023-12-23 16:05:05 +00:00
< ? php echo Text :: _ ( 'COM_GETBIBLE_OPEN_AI_MESSAGE_PROMPT_LABEL' ); ?>
2023-07-26 09:09:42 +00:00
</ th >
2023-08-04 15:13:55 +00:00
< th data - breakpoints = " xs sm md " data - type = " html " data - sort - use = " text " >
2023-12-23 16:05:05 +00:00
< ? php echo Text :: _ ( 'COM_GETBIBLE_OPEN_AI_MESSAGE_SOURCE_LABEL' ); ?>
2023-07-26 09:09:42 +00:00
</ th >
2023-08-04 15:13:55 +00:00
< th width = " 10 " data - breakpoints = " xs sm md " >
2023-12-23 16:05:05 +00:00
< ? php echo Text :: _ ( 'COM_GETBIBLE_OPEN_AI_MESSAGE_STATUS' ); ?>
2023-07-26 09:09:42 +00:00
</ th >
2023-08-04 15:13:55 +00:00
< th width = " 5 " data - type = " number " data - breakpoints = " xs sm md " >
2023-12-23 16:05:05 +00:00
< ? php echo Text :: _ ( 'COM_GETBIBLE_OPEN_AI_MESSAGE_ID' ); ?>
2023-07-26 09:09:42 +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-01-23 17:16:25 +00:00
$userChkOut = Factory :: getContainer () ->
get ( \Joomla\CMS\User\UserFactoryInterface :: class ) ->
loadUserById ( $item -> checked_out );
2023-07-26 09:09:42 +00:00
$canDo = GetbibleHelper :: getActions ( 'open_ai_message' , $item , 'open_ai_messages' );
?>
< tr >
< td >
< ? php if ( $canDo -> get ( 'open_ai_message.edit' )) : ?>
2023-12-23 16:05:05 +00:00
< a href = " <?php echo $edit ; ?>&id=<?php echo $item->id ; ?><?php echo $ref ; ?> " >< ? php echo Text :: _ ( $item -> role ); ?> </a>
2023-07-26 09:09:42 +00:00
< ? php if ( $item -> checked_out ) : ?>
2023-12-23 16:05:05 +00:00
< ? php echo Html :: _ ( 'jgrid.checkedout' , $i , $userChkOut -> name , $item -> checked_out_time , 'open_ai_messages.' , $canCheckin ); ?>
2023-07-26 09:09:42 +00:00
< ? php endif ; ?>
< ? php else : ?>
2023-12-23 16:05:05 +00:00
< ? php echo Text :: _ ( $item -> role ); ?>
2023-07-26 09:09:42 +00:00
< ? php endif ; ?>
</ td >
< td >
< ? php echo $displayData -> escape ( $item -> open_ai_response_response_id ); ?>
</ td >
< td >
< ? php if ( $user -> authorise ( 'prompt.edit' , 'com_getbible.prompt.' . ( int ) $item -> prompt_id )) : ?>
< a href = " index.php?option=com_getbible&view=prompts&task=prompt.edit&id=<?php echo $item->prompt_id ; ?><?php echo $ref ; ?> " >< ? php echo $displayData -> escape ( $item -> prompt_name ); ?> </a>
< ? php else : ?>
< ? php echo $displayData -> escape ( $item -> prompt_name ); ?>
< ? php endif ; ?>
</ td >
< td >
2023-12-23 16:05:05 +00:00
< ? php echo Text :: _ ( $item -> source ); ?>
2023-07-26 09:09:42 +00:00
</ td >
< ? php if ( $item -> published == 1 ) : ?>
2023-08-04 15:13:55 +00:00
< td class = " center " data - sort - value = " 1 " >
2023-12-23 16:05:05 +00:00
< span class = " status-metro status-published " title = " <?php echo Text::_('COM_GETBIBLE_PUBLISHED'); ?> " >
< ? php echo Text :: _ ( 'COM_GETBIBLE_PUBLISHED' ); ?>
2023-07-26 09:09:42 +00:00
</ span >
</ td >
< ? php elseif ( $item -> published == 0 ) : ?>
2023-08-04 15:13:55 +00:00
< td class = " center " data - sort - value = " 2 " >
2023-12-23 16:05:05 +00:00
< span class = " status-metro status-inactive " title = " <?php echo Text::_('COM_GETBIBLE_INACTIVE'); ?> " >
< ? php echo Text :: _ ( 'COM_GETBIBLE_INACTIVE' ); ?>
2023-07-26 09:09:42 +00:00
</ span >
</ td >
< ? php elseif ( $item -> published == 2 ) : ?>
2023-08-04 15:13:55 +00:00
< td class = " center " data - sort - value = " 3 " >
2023-12-23 16:05:05 +00:00
< span class = " status-metro status-archived " title = " <?php echo Text::_('COM_GETBIBLE_ARCHIVED'); ?> " >
< ? php echo Text :: _ ( 'COM_GETBIBLE_ARCHIVED' ); ?>
2023-07-26 09:09:42 +00:00
</ span >
</ td >
< ? php elseif ( $item -> published == - 2 ) : ?>
2023-08-04 15:13:55 +00:00
< td class = " center " data - sort - value = " 4 " >
2023-12-23 16:05:05 +00:00
< span class = " status-metro status-trashed " title = " <?php echo Text::_('COM_GETBIBLE_TRASHED'); ?> " >
< ? php echo Text :: _ ( 'COM_GETBIBLE_TRASHED' ); ?>
2023-07-26 09:09:42 +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 " >
2023-12-23 16:05:05 +00:00
< ? php echo Text :: _ ( 'JGLOBAL_NO_MATCHING_RESULTS' ); ?>
2023-07-26 09:09:42 +00:00
</ div >
< ? php endif ; ?>
</ div >