primo commit

This commit is contained in:
2024-12-17 17:34:10 +01:00
commit e650f8df99
16435 changed files with 2451012 additions and 0 deletions

View File

@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>

View File

@ -0,0 +1,170 @@
<?php
/*
* @package Joomla
* @copyright Copyright (C) Open Source Matters. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
* @component Phoca Gallery
* @copyright Copyright (C) Jan Pavelka www.phoca.cz
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
*/
defined('_JEXEC') or die;
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Layout\LayoutHelper;
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Router\Route;
$r = $this->r;
$user = Factory::getUser();
$userId = $user->get('id');
$listOrder = $this->escape($this->state->get('list.ordering'));
$listDirn = $this->escape($this->state->get('list.direction'));
$canOrder = $user->authorise('core.edit.state', $this->t['o']);
$saveOrder = $listOrder == 'a.ordering';
$saveOrderingUrl = '';
if ($saveOrder && !empty($this->items)) {
$saveOrderingUrl = $r->saveOrder($this->t, $listDirn);
}
$sortFields = $this->getSortFields();
echo $r->jsJorderTable($listOrder);
echo $r->startForm($this->t['o'], $this->t['tasks'], 'adminForm');
//echo $r->startFilter();
//echo $r->endFilter();
echo $r->startMainContainer();
if (isset($this->tmpl['notapproved']->count) && (int)$this->tmpl['notapproved']->count > 0 ) {
echo '<div class="alert alert-danger alert-dismissible">'.Text::_($this->t['l'].'_NOT_APPROVED_FILES_COUNT').': '
.(int)$this->tmpl['notapproved']->count.'<button type="button" class="btn-close" data-bs-dismiss="alert"></button></div>';
}
/*
echo $r->startFilterBar();
echo $r->inputFilterSearch($this->t['l'].'_FILTER_SEARCH_LABEL', $this->t['l'].'_FILTER_SEARCH_DESC',
$this->escape($this->state->get('filter.search')));
echo $r->inputFilterSearchClear('JSEARCH_FILTER_SUBMIT', 'JSEARCH_FILTER_CLEAR');
echo $r->inputFilterSearchLimit('JFIELD_PLG_SEARCH_SEARCHLIMIT_DESC', $this->pagination->getLimitBox());
echo $r->selectFilterDirection('JFIELD_ORDERING_DESC', 'JGLOBAL_ORDER_ASCENDING', 'JGLOBAL_ORDER_DESCENDING', $listDirn);
echo $r->selectFilterSortBy('JGLOBAL_SORT_BY', $sortFields, $listOrder);
echo $r->startFilterBar(2);
echo $r->selectFilterPublished('JOPTION_SELECT_PUBLISHED', $this->state->get('filter.published'));
echo $r->selectFilterLanguage('JOPTION_SELECT_LANGUAGE', $this->state->get('filter.language'));
echo $r->selectFilterCategory(PhocaDownloadCategory::options($this->t['o']), 'JOPTION_SELECT_CATEGORY', $this->state->get('filter.category_id'));
echo $r->endFilterBar();
echo $r->endFilterBar();*/
echo LayoutHelper::render('joomla.searchtools.default', array('view' => $this));
echo $r->startTable('categoryList');
echo $r->startTblHeader();
echo $r->firstColumnHeader($listDirn, $listOrder);
echo $r->secondColumnHeader($listDirn, $listOrder);
//echo $r->thOrderingXML('JGRID_HEADING_ORDERING', $listDirn, $listOrder);
//echo $r->thCheck('JGLOBAL_CHECK_ALL');
echo '<th class="ph-title">'.HTMLHelper::_('searchtools.sort', $this->t['l'].'_TITLE', 'a.title', $listDirn, $listOrder ).'</th>'."\n";
echo '<th class="ph-filename-long">'.HTMLHelper::_('searchtools.sort', $this->t['l'].'_FILENAME', 'a.filename', $listDirn, $listOrder ).'</th>'."\n";
echo '<th class="ph-published">'.HTMLHelper::_('searchtools.sort', $this->t['l'].'_PUBLISHED', 'a.published', $listDirn, $listOrder ).'</th>'."\n";
echo '<th class="ph-approved">'.HTMLHelper::_('searchtools.sort', $this->t['l'].'_APPROVED', 'a.approved', $listDirn, $listOrder ).'</th>'."\n";
echo '<th class="ph-parentcattitle">'.HTMLHelper::_('searchtools.sort', $this->t['l'].'_CATEGORY', 'category_id', $listDirn, $listOrder ).'</th>'."\n";
echo '<th class="ph-owner">'.HTMLHelper::_('searchtools.sort', $this->t['l'].'_OWNER', 'a.owner_id', $listDirn, $listOrder ).'</th>'."\n";
echo '<th class="ph-uploaduser">'.HTMLHelper::_('searchtools.sort', $this->t['l'].'_UPLOADED_BY', 'uploadusername', $listDirn, $listOrder ).'</th>'."\n";
echo '<th class="ph-hits">'.HTMLHelper::_('searchtools.sort', $this->t['l'].'_DOWNLOADS', 'a.hits', $listDirn, $listOrder ).'</th>'."\n";
echo '<th class="ph-active">'.Text::_($this->t['l'].'_ACTIVE').'</th>'."\n";
echo '<th class="ph-access">'.Text::_($this->t['l'].'_ACCESS').'</th>'."\n";
echo '<th class="ph-language">'.HTMLHelper::_('searchtools.sort', 'JGRID_HEADING_LANGUAGE', 'a.language', $listDirn, $listOrder ).'</th>'."\n";
echo '<th class="ph-id">'.HTMLHelper::_('searchtools.sort', $this->t['l'].'_ID', 'a.id', $listDirn, $listOrder ).'</th>'."\n";
echo $r->endTblHeader();
echo $r->startTblBody($saveOrder, $saveOrderingUrl, $listDirn);
$originalOrders = array();
$parentsStr = "";
$j = 0;
if (is_array($this->items)) {
foreach ($this->items as $i => $item) {
//if ($i >= (int)$this->pagination->limitstart && $j < (int)$this->pagination->limit) {
$j++;
$urlEdit = 'index.php?option='.$this->t['o'].'&task='.$this->t['task'].'.edit&id=';
$urlTask = 'index.php?option='.$this->t['o'].'&task='.$this->t['task'];
$orderkey = array_search($item->id, $this->ordering[$item->catid]);
$ordering = ($listOrder == 'a.ordering');
$canCreate = $user->authorise('core.create', $this->t['o']);
$canEdit = $user->authorise('core.edit', $this->t['o']);
$canCheckin = $user->authorise('core.manage', 'com_checkin') || $item->checked_out==$user->get('id') || $item->checked_out==0;
$canChange = $user->authorise('core.edit.state', $this->t['o']) && $canCheckin;
$linkEdit = Route::_( $urlEdit. $item->id );
$linkCat = Route::_( 'index.php?option='.$this->t['o'].'&task='.$this->t['c'].'cat.edit&id='.(int) $item->category_id );
$canEditCat = $user->authorise('core.edit', $this->t['o']);
echo $r->startTr($i, isset($item->catid) ? (int)$item->catid : 0);
echo $r->firstColumn($i, $item->id, $canChange, $saveOrder, $orderkey, $item->ordering);
echo $r->secondColumn($i, $item->id, $canChange, $saveOrder, $orderkey, $item->ordering);
$checkO = '';
if ($item->checked_out) {
$checkO .= HTMLHelper::_('jgrid.checkedout', $i, $item->editor, $item->checked_out_time, $this->t['tasks'].'.', $canCheckin);
}
if ($canCreate || $canEdit) {
$checkO .= '<a href="'. Route::_($linkEdit).'">'. $this->escape($item->title).'</a>';
} else {
$checkO .= $this->escape($item->title);
}
$checkO .= '<br /><span class="smallsub">(<span>'.Text::_($this->t['l'].'_FIELD_ALIAS_LABEL').':</span>'. $this->escape($item->alias).')</span>';
echo $r->td($checkO, "small hidden-phone ph-wrap-12");
echo $r->td($item->filename, "small ph-wrap-12");
echo $r->td(HTMLHelper::_('jgrid.published', $item->published, $i, $this->t['tasks'].'.', $canChange), "small hidden-phone");
echo $r->td(PhocaDownloadJGrid::approved( $item->approved, $i, $this->t['tasks'].'.', $canChange), "small hidden-phone");
if ($canEditCat) {
$catO = '<a href="'. Route::_($linkCat).'">'. $this->escape($item->category_title).'</a>';
} else {
$catO = $this->escape($item->category_title);
}
echo $r->td($catO, "small hidden-phone");
//echo $r->td($this->escape($item->access_level), "small hidden-phone");
$usrO = $item->usernameno;
if ($item->username) {$usrO = $usrO . ' ('.$item->username.')';}
echo $r->td($usrO, "small hidden-phone");
$usrU = $item->uploadname;
if ($item->uploadusername) {$usrU = $usrU . ' ('.$item->uploadusername.')';}
echo $r->td($usrU, "small hidden-phone");
echo $r->td($item->hits, "small hidden-phone");
echo $r->tdPublishDownUp ($item->publish_up, $item->publish_down, "small hidden-phone");
echo $r->td($this->escape($item->access_level), 'small hidden-phone');
echo $r->tdLanguage($item->language, $item->language_title, $this->escape($item->language_title));
echo $r->td($item->id, "small hidden-phone");
echo $r->endTr();
//}
}
}
echo $r->endTblBody();
echo $r->tblFoot($this->pagination->getListFooter(), 15);
echo $r->endTable();
echo $this->loadTemplate('batch');
//echo $r->formInputsXML($listOrder, $originalOrders);
echo $r->formInputsXML($listOrder, $listDirn, $originalOrders);
echo $r->endMainContainer();
echo $r->endForm();
?>

View File

@ -0,0 +1,59 @@
<?php
/* @package Joomla
* @copyright Copyright (C) Open Source Matters. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
* @extension Phoca Extension
* @copyright Copyright (C) Jan Pavelka www.phoca.cz
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
*/
defined('_JEXEC') or die;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Layout\LayoutHelper;
//$published = $this->state->get('filter.published');
?>
<div id="collapseModal" role="dialog" tabindex="-1" class="joomla-modal modal fade">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h3 class="modal-title"><?php echo Text::_('COM_PHOCADOWNLOAD_BATCH_OPTIONS_FILES');?></h3>
<button type="button" class="btn-close novalidate" data-bs-dismiss="modal" aria-label="<?php Text::_('COM_PHOCADOWNLOAD_CLOSE'); ?>">
</button>
</div>
<div class="modal-body">
<div class="p-3">
<div class="row">
<div class="form-group col-md-6">
<div class="controls"><?php echo LayoutHelper::render('joomla.html.batch.access', []);?></div>
</div>
</div>
<div class="row">
<div class="form-group col-md-6">
<div class="controls"><?php echo LayoutHelper::render('joomla.html.batch.language', []); ?></div>
</div>
</div>
<div class="row">
<div class="form-group col-md-6">
<div class="controls"><?php echo PhocaDownloadBatch::item('', 0); ?></div>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button class="btn" type="button" onclick="document.getElementById('batch-category-id').value='';document.getElementById('batch-access').value='';document.getElementById('batch-language-id').value=''" data-bs-dismiss="modal">
<?php echo Text::_('JCANCEL'); ?>
</button>
<button class="btn btn-primary" type="submit" onclick="Joomla.submitbutton('<?php echo $this->t['task'] ?>.batch');" id="batch-submit-button-id" data-submit-task="<?php echo $this->t['task'] ?>.batch">
<?php echo Text::_('JGLOBAL_BATCH_PROCESS'); ?>
</button>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>

View File

@ -0,0 +1,150 @@
<?php
/* @package Joomla
* @copyright Copyright (C) Open Source Matters. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
* @extension Phoca Extension
* @copyright Copyright (C) Jan Pavelka www.phoca.cz
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
*/
defined( '_JEXEC' ) or die();
use Joomla\CMS\Language\Text;
use Joomla\CMS\MVC\View\HtmlView;
use Joomla\CMS\Factory;
use Joomla\CMS\Toolbar\Toolbar;
use Joomla\CMS\Toolbar\ToolbarHelper;
use Joomla\CMS\HTML\HTMLHelper;
jimport( 'joomla.application.component.view' );
class PhocaDownloadCpViewPhocaDownloadFiles extends HtmlView
{
protected $items;
protected $pagination;
protected $state;
protected $t;
protected $r;
public $filterForm;
public $activeFilters;
function display($tpl = null) {
$this->t = PhocaDownloadUtils::setVars('file');
$this->r = new PhocaDownloadRenderAdminViews();
$this->items = $this->get('Items');
$this->pagination = $this->get('Pagination');
$this->state = $this->get('State');
$this->filterForm = $this->get('FilterForm');
$this->activeFilters = $this->get('ActiveFilters');
// Preprocess the list of items to find ordering divisions.
foreach ($this->items as &$item) {
$this->ordering[$item->catid][] = $item->id;
}
$this->tmpl['notapproved'] = $this->get( 'NotApprovedFile' );
$this->addToolbar();
parent::display($tpl);
}
protected function addToolbar() {
require_once JPATH_COMPONENT.'/helpers/'.$this->t['tasks'].'.php';
$state = $this->get('State');
$class = ucfirst($this->t['tasks']).'Helper';
$canDo = $class::getActions($this->t, $state->get('filter.file_id'));
$user = Factory::getUser();
$bar = Toolbar::getInstance('toolbar');
ToolbarHelper::title( Text::_($this->t['l'].'_FILES'), 'file.png' );
if ($canDo->get('core.create')) {
ToolbarHelper::addNew( $this->t['task'].'.add','JTOOLBAR_NEW');
ToolbarHelper::addNew( $this->t['task'].'.addtext', $this->t['l'].'_ADD_TEXT');
ToolbarHelper::custom( $this->t['c'].'m.edit', 'multiple.png', '', $this->t['l'].'_MULTIPLE_ADD' , false);
}
if ($canDo->get('core.edit')) {
ToolbarHelper::editList($this->t['task'].'.edit','JTOOLBAR_EDIT');
}
if ($canDo->get('core.create')) {
//JToolbarHelper::divider();
//JToolbarHelper::custom( $this->t['task'].'.copyquick','copy.png', '', $this->t['l'].'_QUICK_COPY', true);
//JToolbarHelper::custom( $this->t['task'].'.copy','copy.png', '', $this->t['l'].'_COPY', true);
}
$dropdown = $bar->dropdownButton('status-group')->text('JTOOLBAR_CHANGE_STATUS')->toggleSplit(false)->icon('icon-ellipsis-h')->buttonClass('btn btn-action')->listCheck(true);
$childBar = $dropdown->getChildToolbar();
if ($canDo->get('core.edit.state')) {
//ToolbarHelper::divider();
$childBar->publish($this->t['tasks'].'.publish')->listCheck(true);
$childBar->unpublish($this->t['tasks'].'.unpublish')->listCheck(true);
$childBar->standardButton('approve')->text($this->t['l'].'_APPROVE')->task($this->t['tasks'].'.approve')->listCheck(true);
$childBar->standardButton('disapprove')->text($this->t['l'].'_NOT_APPROVE')->task($this->t['tasks'].'.disapprove')->listCheck(true);
//ToolbarHelper::custom($this->t['tasks'].'.publish', 'publish.png', 'publish_f2.png','JTOOLBAR_PUBLISH', true);
//ToolbarHelper::custom($this->t['tasks'].'.unpublish', 'unpublish.png', 'unpublish_f2.png', 'JTOOLBAR_UNPUBLISH', true);
//ToolbarHelper::custom( $this->t['tasks'].'.approve', 'approve.png', '', $this->t['l'].'_APPROVE' , true);
//ToolbarHelper::custom( $this->t['tasks'].'.disapprove', 'disapprove.png', '', $this->t['l'].'_NOT_APPROVE' , true);
}
if ($canDo->get('core.delete')) {
$childBar->delete($this->t['tasks'].'.delete')->text($this->t['l'].'_DELETE')->message( $this->t['l'].'_WARNING_DELETE_ITEMS')->icon('icon-trash')->listCheck(true);
//ToolbarHelper::deleteList( Text::_( $this->t['l'].'_WARNING_DELETE_ITEMS' ), $this->t['tasks'].'.delete', $this->t['l'].'_DELETE');
}
// Add a batch button
if ($user->authorise('core.edit'))
{
/*$title = Text::_('JTOOLBAR_BATCH');
$dhtml = '<joomla-toolbar-button id="toolbar-batch" list-selection>';
$dhtml .= "<button data-bs-toggle=\"modal\" data-bs-target=\"#collapseModal\" class=\"btn btn-small\">
<i class=\"icon-checkbox-partial\" title=\"$title\"></i>
$title</button>";
$dhtml .= '</joomla-toolbar-button>';
$bar->appendButton('Custom', $dhtml, 'batch');*/
/*$bar->popupButton('batch')
->text('JTOOLBAR_BATCH')
->selector('collapseModal')
->listCheck(true);*/
$childBar->popupButton('batch')->text('JTOOLBAR_BATCH')->selector('collapseModal')->listCheck(true);
/*HTMLHelper::_('bootstrap.renderModal', 'collapseModal');
$title = \JText::_('JTOOLBAR_BATCHx');
$layout = new \JLayoutFile('joomla.toolbar.batch');
$dhtml = $layout->render(array('title' => $title));
\JToolbar::getInstance('toolbar')->appendButton('Custom', $dhtml, 'batch');*/
}
ToolbarHelper::divider();
ToolbarHelper::help( 'screen.'.$this->t['c'], true );
}
protected function getSortFields() {
return array(
'a.ordering' => Text::_('JGRID_HEADING_ORDERING'),
'a.title' => Text::_($this->t['l'] . '_TITLE'),
'a.filename' => Text::_($this->t['l'] . '_FILENAME'),
'a.date' => Text::_($this->t['l'] . '_DATE'),
'a.hits' => Text::_($this->t['l'] . '_DOWNLOADS'),
'a.owner_id' => Text::_($this->t['l'] . '_OWNER'),
'uploadusername'=> Text::_($this->t['l'] . '_UPLOADED_BY'),
'a.published' => Text::_($this->t['l'] . '_PUBLISHED'),
'a.approved' => Text::_($this->t['l'] . '_APPROVED'),
'category_id' => Text::_($this->t['l'] . '_CATEGORY'),
'language' => Text::_('JGRID_HEADING_LANGUAGE'),
'a.id' => Text::_('JGRID_HEADING_ID')
);
}
}
?>