shell bypass 403
<?php
/*
* @package Joomla.Framework
* @copyright Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*
* @component Phoca Component
* @copyright Copyright (C) Jan Pavelka www.phoca.cz
* @license http://www.gnu.org/copyleft/gpl.html GNU General Public License version 2 or later;
*/
defined('_JEXEC') or die;
use Joomla\CMS\Factory;
use Joomla\CMS\HTML\HTMLHelper;
class PhocaGalleryTagHelper
{
public function getTags($fileId, $select = 0) {
$db =Factory::getDBO();
if ($select == 1) {
$query = 'SELECT r.tagid';
} else {
$query = 'SELECT a.*';
}
$query .= ' FROM #__phocagallery_tags AS a'
//.' LEFT JOIN #__phocagallery AS f ON f.id = r.fileid'
.' LEFT JOIN #__phocagallery_tags_ref AS r ON a.id = r.tagid'
.' WHERE r.fileid = '.(int) $fileId;
$db->setQuery($query);
if ($select == 1) {
$tags = $db->loadColumn();
} else {
$tags = $db->loadObjectList();
}
return $tags;
}
public function storeTags($tagsArray, $fileId) {
if ((int)$fileId > 0) {
$db =Factory::getDBO();
$query = ' DELETE '
.' FROM #__phocagallery_tags_ref'
. ' WHERE fileid = '. (int)$fileId;
$db->setQuery($query);
if (!$db->execute()) {
$this->setError('Database Error - Deleting FileId Tags');
return false;
}
if (!empty($tagsArray)) {
$values = array();
$valuesString = '';
foreach($tagsArray as $k => $v) {
$values[] = ' ('.(int)$fileId.', '.(int)$v.')';
}
if (!empty($values)) {
$valuesString = implode($values, ',');
$query = ' INSERT INTO #__phocagallery_tags_ref (fileid, tagid)'
.' VALUES '.(string)$valuesString;
$db->setQuery($query);
if (!$db->execute()) {
$this->setError('Database Error - Insert FileId Tags');
return false;
}
}
}
}
}
public function getAllTagsSelectBox($name, $id, $activeArray, $javascript = NULL, $order = 'id' ) {
$db =Factory::getDBO();
$query = 'SELECT a.id AS value, a.title AS text'
.' FROM #__phocagallery_tags AS a'
. ' ORDER BY '. $order;
$db->setQuery($query);
/*if (!$db->query()) {
$this->setError('Database Error - Getting All Tags');
return false;
}*/
$tags = $db->loadObjectList();
$tagsO = HTMLHelper::_('select.genericlist', $tags, $name, 'class="form-control" size="4" multiple="multiple"'. $javascript, 'value', 'text', $activeArray, $id);
return $tagsO;
}
}