Более легкое решение того как скрыть от пользователя иконки редактирования, удаления и опубликования картинок в его галерее. Это решение для тех, кто не использовал решение на верхнем посте. Данное решение от верхнего отличается тем, что для пользователя остается ссылка на "Моя галерея", куда он сможет зайти и посмотреть свои фотки.
Повторяю данное решение только для пользователей, т.е. для группы Зарегистрированный, для других групп не работает.Идем в папку Идем в папку \components\com_joomgallery\helpers находим файл helper.php находим строку:
{
$params->set('show_mygal_no_access', 1);
}
}
}
После пишем код:
if(!$params->get('disable_global_info') && $config->get('jg_userspace') == 1)
{
if( (($config->get('jg_showuserpanel') == 1) && ($user->get('aid') > 0))
|| (($config->get('jg_showuserpanel') > 1 ) && ($user->get('aid') == 1))
|| ($config->get('jg_showuserpanel') == 3)
)
{
if($user->get('aid')!= 1)
{
$params->set('show_mygall', 1);
}
else
{
$params->set('show_mygall_no_access', 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_mygall')): ?>
<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_mygall_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>
Заменим его на:
<?php
if($this->params->get('show_mygall')): ?>
<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>
<?php endif;
if($this->params->get('show_mygall_no_access')): ?>
<?php echo JHTML::_('joomgallery.icon', 'download_gr.png', 'JGS_COMMON_DELETE'); ?>
</div>
<?php endif; ?>
Здесь иконку Удалить сделали не кликабельной.
Иконка download_gr.png в папке components\com_joomgallery\assets\images дана только для примера, вам же следует найти подходящую иконку для редактирования и удаления или преобразовать их в серый цвет и засунуть их в эту же папку,
но иконку download_gr.png ЗАМЕНЯТЬ НЕ СЛЕДУЕТ.
Далее ищем:
<a href="<?php echo JRoute::_('index.php?task=publishimage&id='.$row->id.$this->slimitstart); ?>"<?php echo JHTML::_('joomgallery.tip', $p_text, $p_title, true, false); ?>>
<?php echo JHTML::_('joomgallery.icon', $p_img.'.png', $p_img); ?></a><?php
if($row->published && $row->hidden):
$h_title = JText::_('JGS_COMMON_HIDDEN_ASTERISK');
$h_text = JText::_('JGS_COMMON_PUBLISHED_BUT_HIDDEN');
echo '<span'.JHTML::_('joomgallery.tip', $h_text, $h_title, true, false).'>'.JText::_('JGS_COMMON_HIDDEN_ASTERISK').'</span>';
$display_hidden_asterisk = true;
endif; ?>
</div>
<?php if($this->_config->get('jg_approve')):
$a_img = 'cross';
if($row->approved):
$a_img = 'tick';
endif; ?>
<div class="jg_up_eappr">
<?php echo JHTML::_('joomgallery.icon', $a_img.'.png', $a_img); ?>
</div>
<?php endif; ?>
</div>
</div>
И заменим его на:
<?php
if($this->params->get('show_mygall')): ?>
<a href="<?php echo JRoute::_('index.php?task=publishimage&id='.$row->id.$this->slimitstart); ?>"<?php echo JHTML::_('joomgallery.tip', $p_text, $p_title, true, false); ?>>
<?php echo JHTML::_('joomgallery.icon', $p_img.'.png', $p_img); ?></a>
<?php endif;
if($this->params->get('show_mygall_no_access')): ?>
<?php echo JHTML::_('joomgallery.icon', $p_img.'.png', $p_img); ?></a><?php
if($row->published && $row->hidden):
$h_title = JText::_('JGS_COMMON_HIDDEN_ASTERISK');
$h_text = JText::_('JGS_COMMON_PUBLISHED_BUT_HIDDEN');
echo '<span'.JHTML::_('joomgallery.tip', $h_text, $h_title, true, false).'>'.JText::_('JGS_COMMON_HIDDEN_ASTERISK').'</span>';
$display_hidden_asterisk = true;
endif; ?>
<?php endif; ?> </div>
<?php if($this->_config->get('jg_approve')):
$a_img = 'cross';
if($row->approved):
$a_img = 'tick';
endif; ?>
<div class="jg_up_eappr">
<?php echo JHTML::_('joomgallery.icon', $a_img.'.png', $a_img); ?>
</div>
<?php endif; ?>
</div>
</div>
Здесь иконку Опубликовать сделали не кликабельной.
Теперь пользователь зайдя в свою галерею не сможет ни редактировать, ни удалить, ни опубликовать свои картинки, что очень полезно для админа сайта. В файле русификации тексты оредактируйте под свое (смотрите верхний пост).
Примерно также можно сделать для детального вида и категорий, чтобы иконки были некликабельны или вообще не показывались пользователям.