По умолчанию Моя галерея доступна пользователям, его можно настроить и так чтобы она была доступна только админу, но тогда пользователь не сможет загрузить фотки. Если сделать доступным мою галерею пользователям, то пользователи смогут редактировать и удалять свои картинки. Но это как-то неправильно. Есть вариант удалить иконки редактирования и удаления, но тогда админ не сможет удалить и редактировать картинки через мою галерею, что тоже не пойдет. Хотя есть возможность редактировать через админку. Кого интересует читаем дальше, все для версии 1.7.4.
Сразу же ставим Показывать "Мою галерею" на показывать только зарегистрированным пользователям и админам в настройках Настройки пользовательского интерфейса\Моя галерея.
Тут мы ссылку на Мою галерею делаем недоступной для пользователей, админам будет доступна, но под ссылкой моя галерея разместим ссылку сразу на загрузку файлов, таким образом пользователь сразу попадает на страницу загрузки файлов.
Идем в папку \components\com_joomgallery\helpers находим файл helper.php находим строку:
{
if($user->get('aid')!= 0)
{
И замени его на:
{
if($user->get('aid')!= 1)
{
Здесь мы сделали недоступной (серого цвета) ссылку на моя галерея. идем в папку components\com_joomgallery\views\gallery\tmpl и находим файл default_header.php в нем ищем строки:
<span class="jg_no_access<?php echo JHTML::_('joomgallery.tip', 'JGS_COMMON_MSG_YOU_ARE_NOT_LOGGED', 'JGS_COMMON_USER_PANEL'); ?>">
<?php echo JText::_('JGS_COMMON_USER_PANEL'); ?>
</span>
</div>
и после них пишем:
<div class="jg_mygal">
<a href="<?php echo JRoute::_('index.php?view=upload&option=com_joomgallery') ;?>">
<?php echo JText::_('JGS_COMMON_USER_DOWNLOAD') ;?>
</a> </div>
Не забудьте в файле русификации создать строку: JGS_COMMON_USER_DOWNLOAD=Загрузить картинки (или поменяйте на свое), также измените строку: JGS_COMMON_MSG_YOU_ARE_NOT_LOGGED, например на этот: JGS_COMMON_MSG_YOU_ARE_NOT_LOGGED=Доступно только для администратора. Дальше вам следует удалить, там где кликабельна ссылка Моя галерея, вроде в одном месте это было, там где загрузка файла. Ищите в папке upload в файле view.html.php надо удалить строку:
$pathway = '<a href="'.JRoute::_('index.php?view=userpanel').'">'.JText::_('JGS_COMMON_USER_PANEL').'</a>';
В детальном виде добавим строку ссылку Загрузить картинки. Идем в папку components\com_joomgallery\views\detail\tmpl и находим файл default_header.php в нем после строк:
<?php echo JText::_('JGS_COMMON_USER_PANEL'); ?>
</span>
</div>
Добавим строку:
<div class="jg_mygal">
<a href="<?php echo JRoute::_('index.php?view=upload&option=com_joomgallery') ;?>">
<?php echo JText::_('JGS_COMMON_USER_DOWNLOAD') ;?>
</a> </div>
Дальше добавим ссылку Загрузить картинки в категории, для этого идем в папку components\com_joomgallery\views\category\tmpl находим файл default_header.php, в нем -строки:
<?php echo JText::_('JGS_COMMON_USER_PANEL'); ?>
</span>
</div>
И после добавим:
<div class="jg_mygal">
<a href="<?php echo JRoute::_('index.php?view=upload&option=com_joomgallery') ;?>">
<?php echo JText::_('JGS_COMMON_USER_DOWNLOAD') ;?>
</a> </div>
При таком решении пользователь не может войти в свою гелерею, а ели и зайдет, введя в адресной строке адрес
http://site.ru/index.php?option=com_joomgallery&view=userpanel, то сможет редактировать и удалить свои фотки, но тут тоже есть решение.
Делаем иконки не кликабельными для пользователей (в сером виде), для админов кликабельны.
Идем в папку \components\com_joomgallery\helpers находим файл helper.php находим строку:
{
if($user->get('aid')!= 0)
{
И замени его на:
{
if($user->get('aid')!= 1)
{
Идем в папку components\com_joomgallery\views\userpanel\tmpl ищем файл default.php в нем ищем строку:
<a href="<?php echo JRoute::_('index.php?view=edit&id='.$row->id.$this->slimitstart); ?>">
<?php echo JHTML::_('joomgallery.icon', 'edit.png', 'JGS_COMMON_EDIT'); ?></a>
</div>
Заменим его на:
<?php
if($this->params->get('show_mygal')): ?>
<a href="<?php echo JRoute::_('index.php?view=edit&id='.$row->id.$this->slimitstart); ?>">
<?php echo JHTML::_('joomgallery.icon', 'edit.png', 'JGS_COMMON_EDIT'); ?></a></div>
<?php endif;
if($this->params->get('show_mygal_no_access')): ?>
<?php echo JHTML::_('joomgallery.icon', 'download_gr.png', 'JGS_COMMON_EDIT'); ?>
</div>
<?php endif; ?>
Иконку Редактировать мы сделали не кликабельной, теперь делаем некликабельной иконку удалить. Для этого находим в том же файле строку:
<a href="javascript:if(confirm('<?php echo JText::_('JGS_COMMON_ALERT_SURE_DELETE_SELECTED_ITEM', true); ?>')){ location.href='<?php echo JRoute::_('index.php?task=delete&id='.$row->id.$this->slimitstart, false);?>';}">
<?php echo JHTML::_('joomgallery.icon', 'edit_trash.png', 'JGS_COMMON_DELETE'); ?></a>
</div>
Заменяем его на:
<div class="jg_up_esub2<?php echo JHTML::_('joomgallery.tip', 'JGS_COMMON_DELETE_IMAGE_TIPTEXT', 'JGS_COMMON_DELETE_IMAGE_TIPCAPTION'); ?>">
<?php
if($this->params->get('show_mygal')): ?>
<a href="javascript:if(confirm('<?php echo JText::_('JGS_COMMON_ALERT_SURE_DELETE_SELECTED_ITEM', true); ?>')){ location.href='<?php echo JRoute::_('index.php?task=delete&id='.$row->id.$this->slimitstart, false);?>';}">
<?php echo JHTML::_('joomgallery.icon', 'edit_trash.png', 'JGS_COMMON_DELETE'); ?></a></div>
<div class="jg_up_esub1<?php endif;
if($this->params->get('show_mygal_no_access')): ?>
<?php echo JHTML::_('joomgallery.icon', 'download_gr.png', 'JGS_COMMON_DELETE'); ?>
</span>
</div>
<?php endif; ?>
Иконка download_gr.png в папке components\com_joomgallery\assets\images дана только для примера, вам же следует найти подходящую иконку для редактирования и удаления или преобразовать их в серый цвет и засунуть их в эту же папку, но
иконку download_gr.png ЗАМЕНЯТЬ НЕ СЛЕДУЕТ. Не забудьте в файле русификации тексты заменить на свои. Например:
JGS_COMMON_DELETE_IMAGE_TIPCAPTION=Удалить
JGS_COMMON_DELETE_IMAGE_TIPTEXT=Доступно только для администратора.
JGS_COMMON_EDIT_IMAGE_TIPCAPTION=Редактировать
JGS_COMMON_EDIT_IMAGE_TIPTEXT=Доступно только для администратора.
Решение конечно огромное, но если кто решил данную ситуацию более легким способом, то опишите здесь.
Вроде все правильно. Если что-то забыл или если возникнет ошибка, то пишите. Если кому понадобились мои труды, то жмите плюсики.
Помогите сделать данное решение без закрытия от пользователей их галерею.