Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 1 Ответов
  • 2081 Просмотров
*

Garum

  • Давно я тут
  • 654
  • 47 / 0
  • Акула пера
По умолчанию Моя галерея доступна пользователям, его можно настроить и так чтобы она была доступна только админу, но тогда пользователь не сможет загрузить фотки. Если сделать доступным мою галерею пользователям, то пользователи смогут редактировать и удалять свои картинки. Но это как-то неправильно. Есть вариант удалить иконки редактирования и удаления, но тогда админ не сможет удалить и редактировать картинки через мою галерею, что тоже не пойдет. Хотя есть возможность редактировать через админку. Кого интересует читаем дальше, все для версии 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=Доступно только для администратора.

Решение конечно огромное, но если кто решил данную ситуацию более легким способом, то опишите здесь.
Вроде все правильно. Если что-то забыл или если возникнет ошибка, то пишите. Если кому понадобились мои труды, то жмите плюсики.
Помогите сделать данное решение без закрытия от пользователей их галерею.
« Последнее редактирование: 05.01.2012, 23:54:54 от Garum »
http://izans.ru/oboi?view=category&catid=6 фото самых красивых девушек на рабочий стол
*

Beer

  • Moderator
  • 1097
  • 41 / 1
  • БИРУ - БИР!
В 3.3.3 все как-то иначе....
Но задача стоит та же - отсечь загрузки юзеров от галереи.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Галерея перестала работать

Автор Sergeych

Ответов: 3
Просмотров: 1463
Последний ответ 12.05.2022, 19:06:44
от xpank
Галерея с возможностью добавить 600 фотографий одним разом весом 80 мб

Автор knyazevvalentinn

Ответов: 0
Просмотров: 788
Последний ответ 19.01.2018, 16:31:11
от knyazevvalentinn
Настроить JoomImages по центру?

Автор warlocksp

Ответов: 3
Просмотров: 1931
Последний ответ 04.11.2016, 09:03:08
от marbert
Открывает фото только в Slimbox. Как поменять?

Автор Andrey33

Ответов: 2
Просмотров: 1565
Последний ответ 02.03.2016, 22:37:58
от Andrey33
Как настроить без этого - "This category is password protected"?

Автор Andry48

Ответов: 0
Просмотров: 1243
Последний ответ 27.08.2015, 22:28:37
от Andry48