Новости Joomla

Вышли релизы безопасности Joomla 6.0.2 и Joomla 5.4.2

Релиз безопасности Joomla 6.0.2 и 5.4.2

Проект Joomla спешит сообщить о выпуске Joomla 6.0.2 и Joomla 5.4.2. Это релиз безопасности для серии Joomla 6.0 и релиз безопасности для серии Joomla 5.4.

JL Content Fields Filter 4.0.0

JL Content Fields Filter 4.0.0

JL Content Fields Filter - Это бесплатный модуль, который фильтрует материалы в категории Joomla согласно настраиваемым полям.

Данный крупный релиз включает полную совместимость с Joomla 6, критические исправления безопасности, полностью модернизированный интерфейс администратора и обширный рефакторинг кода.

Ключевые Особенности:

- Полная совместимость с Joomla 6: Полная миграция на PSR-4, удаление устаревших методов, исправления для PHP 8.2+ и современные взаимодействия с базой данных.

- Полностью переписанный интерфейс компонента:

- Современный JS стек (Native Fetch, ES6+, модальные окна Bootstrap 5)

- Новое поле FilterfieldsField для предварительного просмотра фильтров в реальном времени.

- Полный CRUD, улучшенные функции SEO и улучшенный UX.

- Критические исправления безопасности:

- 5 SQL-инъекций устранены в нескольких файлах.

- Добавлена защита от XSS, улучшены токены CSRF и проверки разрешений.

- Улучшения модуля и плагина: Улучшенная функциональность слайдера, лучшие сбросы форм, динамическое обнаружение контекста для плагинов и оптимизированная логика фильтрации.

Страница расширения:
https://joomline.ru/rasshirenija/moduli/jlcontentfieldsfilter.html

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

asilbeko

  • Захожу иногда
  • 187
  • 2 / 0
  • чуваааккк!
При добавлении статьи с сайта пользователю открываются следующие возможности: (см. картинку)
Как сделать так, чтобы пользователю не были возможны для изменения следующие опции (см. картинку. выделено красной рамкой)
Вот ссылка на картинку:

миникартинка:
« Последнее редактирование: 22.06.2011, 18:13:05 от asilbeko »
*

asilbeko

  • Захожу иногда
  • 187
  • 2 / 0
  • чуваааккк!
Вот чтобы эти параметры всегда были по умолчанию, а то пользователи баловаться будут. :)
*

FerrumLogic

  • Захожу иногда
  • 213
  • 17 / 0
  • Я ушел чтобы с разбегу вернуться
Пользователь в какой группе состоит?
*

asilbeko

  • Захожу иногда
  • 187
  • 2 / 0
  • чуваааккк!
зарегистрированные. я сделал так, чтобы все зареганные могли добавлять статьи.
*

FerrumLogic

  • Захожу иногда
  • 213
  • 17 / 0
  • Я ушел чтобы с разбегу вернуться
Я использовал такое содержимое /components/com_content/views/article/tmpl/form.php
Код
<?php // no direct access
defined('_JEXEC') or die('Restricted access');

$config =& JFactory::getConfig();
$publish_up =& JFactory::getDate($this->article->publish_up);
$publish_up->setOffset($config->getValue('config.offset'));
$publish_up = $publish_up->toFormat();

if (! isset($this->article->publish_down) || $this->article->publish_down == 'Never') {
$publish_down = JText::_('Never');
} else {
$publish_down =& JFactory::getDate($this->article->publish_down);
$publish_down->setOffset($config->getValue('config.offset'));
$publish_down = $publish_down->toFormat();
}
?>

<script language="javascript" type="text/javascript">
<!--
function setgood() {
// TODO: Put setGood back
return true;
}

var sectioncategories = new Array;
<?php
$i = 0;
foreach ($this->lists['sectioncategories'] as $k=>$items) {
foreach ($items as $v) {
echo "sectioncategories[".$i++."] = new Array( '$k','".addslashes( $v->id )."','".addslashes( $v->title )."' );\n\t\t";
}
}
?>


function submitbutton(pressbutton) {
var form = document.adminForm;
if (pressbutton == 'cancel') {
submitform( pressbutton );
return;
}
try {
form.onsubmit();
} catch(e) {
alert(e);
}

// do field validation
var text = <?php echo $this->editor->getContent( 'text' ); ?>
if (form.title.value == '') {
return alert ( "<?php echo JText::_( 'Article must have a title', true ); ?>" );
} else if (text == '') {
return alert ( "<?php echo JText::_( 'Article must have some text', true ); ?>");
} else if (parseInt('<?php echo $this->article->sectionid;?>')) {
// for articles
if (form.catid && getSelectedValue('adminForm','catid') < 1) {
return alert ( "<?php echo JText::_( 'Please select a category', true ); ?>" );
}
}
<?php echo $this->editor->save( 'text' ); ?>
submitform(pressbutton);
}
//-->
</script>
<?php if ($this->params->get('show_page_title', 1)) : ?>
<div class="componentheading<?php echo $this->escape($this->params->get('pageclass_sfx')); ?>"><?php echo $this->escape($this->params->get('page_title')); ?></div>
<?php endif; ?>
<form action="<?php echo $this->action ?>" method="post" name="adminForm" onSubmit="setgood();">
<fieldset>
<legend><?php echo JText::_('Editor'); ?></legend>
<table class="adminform" width="100%">
<tr>
<td>
<div style="float: left;">
<label for="title">
<?php echo JText::_( 'Title' ); ?>:
</label>
<input class="inputbox" type="text" id="title" name="title" size="50" maxlength="100" value="<?php echo $this->escape($this->article->title); ?>" />
<input class="inputbox" type="hidden" id="alias" name="alias" value="<?php echo $this->escape($this->article->alias); ?>" />
</div>
<div style="float: right;">
<button type="button" onclick="submitbutton('save')">
<?php echo JText::_('Save')?>
</button>
<button type="button" onclick="submitbutton('cancel')">
<?php echo JText::_('Cancel')?>
</button>
</div>
</td>
</tr>
</table>

<?php
echo $this->editor->display('text', $this->article->text, '100%', '400', '70', '15');
?>
</fieldset>
<fieldset>
<legend><?php echo JText::_('Publishing'); ?></legend>
<table class="adminform">
<tr>
<td class="key">
<label for="sectionid">
<?php echo JText::_( 'Section' ); ?>:
</label>
</td>
<td>
<?php echo $this->lists['sectionid']; ?>
</td>
</tr>
<tr>
<td class="key">
<label for="catid">
<?php echo JText::_( 'Category' ); ?>:
</label>
</td>
<td>
<?php echo $this->lists['catid']; ?>
</td>
</tr>
<?php if ($this->user->authorize('com_content', 'publish', 'content', 'all')) : ?>
<tr>
<td class="key">
<label for="state">
<?php echo JText::_( 'Published' ); ?>:
</label>
</td>
<td>
<?php echo $this->lists['state']; ?>
</td>
</tr>
<?php endif; ?>
<tr>
<td width="120" class="key">
<label for="frontpage">
<?php echo JText::_( 'Show on Front Page' ); ?>:
</label>
</td>
<td>
<?php echo $this->lists['frontpage']; ?>
</td>
</tr>
<tr>
<td class="key">
<label for="created_by_alias">
<?php echo JText::_( 'Author Alias' ); ?>:
</label>
</td>
<td>
<input type="text" id="created_by_alias" name="created_by_alias" size="50" maxlength="100" value="<?php echo $this->escape($this->article->created_by_alias); ?>" class="inputbox" />
</td>
</tr>
<tr>
<td class="key">
<label for="publish_up">
<?php echo JText::_( 'Start Publishing' ); ?>:
</label>
</td>
<td>
    <?php echo JHTML::_('calendar', $publish_up, 'publish_up', 'publish_up', '%Y-%m-%d %H:%M:%S', array('class'=>'inputbox', 'size'=>'25',  'maxlength'=>'19')); ?>
</td>
</tr>
<tr>
<td class="key">
<label for="publish_down">
<?php echo JText::_( 'Finish Publishing' ); ?>:
</label>
</td>
<td>
    <?php echo JHTML::_('calendar', $publish_down, 'publish_down', 'publish_down', '%Y-%m-%d %H:%M:%S', array('class'=>'inputbox', 'size'=>'25',  'maxlength'=>'19')); ?>
</td>
</tr>
<tr>
<td valign="top" class="key">
<label for="access">
<?php echo JText::_( 'Access Level' ); ?>:
</label>
</td>
<td>
<?php echo $this->lists['access']; ?>
</td>
</tr>
<tr>
<td class="key">
<label for="ordering">
<?php echo JText::_( 'Ordering' ); ?>:
</label>
</td>
<td>
<?php echo $this->lists['ordering']; ?>
</td>
</tr>
</table>
</fieldset>

<fieldset>
<legend><?php echo JText::_('Metadata'); ?></legend>
<table class="adminform">
<tr>
<td valign="top" class="key">
<label for="metadesc">
<?php echo JText::_( 'Description' ); ?>:
</label>
</td>
<td>
<textarea rows="5" cols="50" style="width:500px; height:120px" class="inputbox" id="metadesc" name="metadesc"><?php echo str_replace('&','&amp;',$this->article->metadesc); ?></textarea>
</td>
</tr>
<tr>
<td  valign="top" class="key">
<label for="metakey">
<?php echo JText::_( 'Keywords' ); ?>:
</label>
</td>
<td>
<textarea rows="5" cols="50" style="width:500px; height:50px" class="inputbox" id="metakey" name="metakey"><?php echo str_replace('&','&amp;',$this->article->metakey); ?></textarea>
</td>
</tr>
</table>
</fieldset>

<input type="hidden" name="option" value="com_content" />
<input type="hidden" name="id" value="<?php echo $this->article->id; ?>" />
<input type="hidden" name="version" value="<?php echo $this->article->version; ?>" />
<input type="hidden" name="created_by" value="<?php echo $this->article->created_by; ?>" />
<input type="hidden" name="referer" value="<?php echo str_replace(array('"', '<', '>', "'"), '', @$_SERVER['HTTP_REFERER']); ?>" />
<?php echo JHTML::_( 'form.token' ); ?>
<input type="hidden" name="task" value="" />
</form>
<?php echo JHTML::_('behavior.keepalive'); ?>
В итоге такая форма добавления материала
*

asilbeko

  • Захожу иногда
  • 187
  • 2 / 0
  • чуваааккк!
Для того, чтобы люди могли добавлять материалы, я сделал это: http://joomlaportal.ru/content/view/1620/68/
========
ВОт код моего файла /components/com_content/views/article/tmpl/form.php
Код
<?php // no direct access
defined('_JEXEC') or die('Restricted access');

$config =& JFactory::getConfig();
$publish_up =& JFactory::getDate($this->article->publish_up);
$publish_up->setOffset($config->getValue('config.offset'));
$publish_up = $publish_up->toFormat();

if (! isset($this->article->publish_down) || $this->article->publish_down == 'Never') {
$publish_down = JText::_('Never');
} else {
$publish_down =& JFactory::getDate($this->article->publish_down);
$publish_down->setOffset($config->getValue('config.offset'));
$publish_down = $publish_down->toFormat();
}
?>

<script language="javascript" type="text/javascript">
<!--
function setgood() {
// TODO: Put setGood back
return true;
}

var sectioncategories = new Array;
<?php
$i = 0;
foreach ($this->lists['sectioncategories'] as $k=>$items) {
foreach ($items as $v) {
echo "sectioncategories[".$i++."] = new Array( '$k','".addslashes( $v->id )."','".addslashes( $v->title )."' );\n\t\t";
}
}
?>


function submitbutton(pressbutton) {
var form = document.adminForm;
if (pressbutton == 'cancel') {
submitform( pressbutton );
return;
}
try {
form.onsubmit();
} catch(e) {
alert(e);
}

// do field validation
var text = <?php echo $this->editor->getContent( 'text' ); ?>
if (form.title.value == '') {
return alert ( "<?php echo JText::_( 'Article must have a title', true ); ?>" );
} else if (text == '') {
return alert ( "<?php echo JText::_( 'Article must have some text', true ); ?>");
} else if (parseInt('<?php echo $this->article->sectionid;?>')) {
// for articles
if (form.catid && getSelectedValue('adminForm','catid') < 1) {
return alert ( "<?php echo JText::_( 'Please select a category', true ); ?>" );
}
}
<?php echo $this->editor->save( 'text' ); ?>
submitform(pressbutton);
}
//-->
</script>
<?php if ($this->params->get('show_page_title', 1)) : ?>
<div class="componentheading<?php echo $this->escape($this->params->get('pageclass_sfx')); ?>"><?php echo $this->escape($this->params->get('page_title')); ?></div>
<?php endif; ?>
<form action="<?php echo $this->action ?>" method="post" name="adminForm" onSubmit="setgood();">
<fieldset>
<legend><?php echo JText::_('Editor'); ?></legend>
<table class="adminform" width="100%">
<tr>
<td>
<div style="float: left;">
<label for="title">
<?php echo JText::_( 'Title' ); ?>:
</label>
<input class="inputbox" type="text" id="title" name="title" size="50" maxlength="100" value="<?php echo $this->escape($this->article->title); ?>" />
<input class="inputbox" type="hidden" id="alias" name="alias" value="<?php echo $this->escape($this->article->alias); ?>" />
</div>
<div style="float: right;">
<button type="button" onclick="submitbutton('save')">
<?php echo JText::_('Save')?>
</button>
<button type="button" onclick="submitbutton('cancel')">
<?php echo JText::_('Cancel')?>
</button>
</div>
</td>
</tr>
</table>

<?php
echo $this->editor->display('text', $this->article->text, '100%', '400', '70', '15');
?>
</fieldset>
<fieldset>
<legend><?php echo JText::_('Publishing'); ?></legend>
<table class="adminform">
<tr>
<td class="key">
<label for="sectionid">
<?php echo JText::_( 'Section' ); ?>:
</label>
</td>
<td>
<?php echo $this->lists['sectionid']; ?>
</td>
</tr>
<tr>
<td class="key">
<label for="catid">
<?php echo JText::_( 'Category' ); ?>:
</label>
</td>
<td>
<?php echo $this->lists['catid']; ?>
</td>
</tr>

</table>
</fieldset>

<fieldset>
<legend><?php echo JText::_('Metadata'); ?></legend>
<table class="adminform">
<tr>
<td valign="top" class="key">
<label for="metadesc">
<?php echo JText::_( 'Description' ); ?>:
</label>
</td>
<td>
<textarea rows="5" cols="50" style="width:500px; height:120px" class="inputbox" id="metadesc" name="metadesc"><?php echo str_replace('&','&amp;',$this->article->metadesc); ?></textarea>
</td>
</tr>
<tr>
<td  valign="top" class="key">
<label for="metakey">
<?php echo JText::_( 'Keywords' ); ?>:
</label>
</td>
<td>
<textarea rows="5" cols="50" style="width:500px; height:50px" class="inputbox" id="metakey" name="metakey"><?php echo str_replace('&','&amp;',$this->article->metakey); ?></textarea>
</td>
</tr>
</table>
</fieldset>

<input type="hidden" name="option" value="com_content" />
<input type="hidden" name="id" value="<?php echo $this->article->id; ?>" />
<input type="hidden" name="version" value="<?php echo $this->article->version; ?>" />
<input type="hidden" name="created_by" value="<?php echo $this->article->created_by; ?>" />
<input type="hidden" name="referer" value="<?php echo str_replace(array('"', '<', '>', "'"), '', @$_SERVER['HTTP_REFERER']); ?>" />
<?php echo JHTML::_( 'form.token' ); ?>
<input type="hidden" name="task" value="" />
</form>
<?php echo JHTML::_('behavior.keepalive'); ?>

Как видно: после выбора категории таблица закрывается, далее нет ничего. (думал что все те опции, которые нужно скрыть находятся тут и я мог бы просто закомментить их)
После выбора категории и раздела идут сразу же мета данные.

*

FerrumLogic

  • Захожу иногда
  • 213
  • 17 / 0
  • Я ушел чтобы с разбегу вернуться
У меня используется условие:
Код
<?php if ($this->user->authorize('com_content', 'publish', 'content', 'all')) : ?>
т.е. выводить остальные параметры, только для пользователя, обладающего правами публикации всех материалов (Админ).
Легче наверное будет на сайте вживую посмотреть, покажете?
*

asilbeko

  • Захожу иногда
  • 187
  • 2 / 0
  • чуваааккк!
...действительно копать надо было в папке хтмл шаблона.
сначала я заккоментил поля ненужных опций (дата добавления, псевдоним и т.д.), но при загрузке страницы система ругалась мол джава скрипту нужны те скрытые поля, которых он не видит на странице.
А вот на поля мета данных он не ругался, тк. Joomla они не обязательны.
Следовательно надо было не убирать поля со стрницы, а просто их скрыть. хорошо что поля оказались в div коде. Я сделал следующее: те поля, которые не должны были показываться пользователю при добавлении новости я просто скрыл используя код
Код
<div style="display: none;"> </div>
А мета данные я просто закомментил.

И так.копал файл:
/templates/вашшаблон/html/com_content/arcticle/form.php

Вот мой код:
Код
<?php
/**
* @package   Template Overrides YOOtheme
* @version   1.5.8 2009-11-30 14:31:42
* @author    YOOtheme http://www.yootheme.com
* @copyright Copyright (C) 2007 - 2009 YOOtheme GmbH
* @license   http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 only
*/

// no direct access
defined('_JEXEC') or die('Restricted access');

$config =& JFactory::getConfig();
$publish_up =& JFactory::getDate($this->article->publish_up);
$publish_up->setOffset($config->getValue('config.offset'));
$publish_up = $publish_up->toFormat();

if (! isset($this->article->publish_down) || $this->article->publish_down == 'Never') {
$publish_down = JText::_('Never');
} else {
$publish_down =& JFactory::getDate($this->article->publish_down);
$publish_down->setOffset($config->getValue('config.offset'));
$publish_down = $publish_down->toFormat();
}
?>

<script language="javascript" type="text/javascript">
<!--
function setgood() {
// TODO: Put setGood back
return true;
}

var sectioncategories = new Array;
<?php
$i = 0;
foreach ($this->lists['sectioncategories'] as $k=>$items) {
foreach ($items as $v) {
echo "sectioncategories[".$i++."] = new Array( '$k','".addslashes( $v->id )."','".addslashes( $v->title )."' );\n\t\t";
}
}
?>


function submitbutton(pressbutton) {
var form = document.adminForm;
if (pressbutton == 'cancel') {
submitform( pressbutton );
return;
}
try {
form.onsubmit();
} catch(e) {
alert(e);
}

// do field validation
var text = <?php echo $this->editor->getContent( 'text' ); ?>
if (form.title.value == '') {
return alert ( "<?php echo JText::_( 'Article must have a title', true ); ?>" );
} else if (text == '') {
return alert ( "<?php echo JText::_( 'Article must have some text', true ); ?>");
} else if (parseInt('<?php echo $this->article->sectionid;?>')) {
// for articles
if (form.catid && getSelectedValue('adminForm','catid') < 1) {
return alert ( "<?php echo JText::_( 'Please select a category', true ); ?>" );
}
}
<?php echo $this->editor->save( 'text' ); ?>
submitform(pressbutton);
}
//-->
</script>

<div class="joomla <?php echo $this->escape($this->params->get('pageclass_sfx')); ?>">

<div class="edit-article">

<?php if ($this->params->get('show_page_title', 1)) : ?>
<h1 class="pagetitle">
<?php echo $this->escape($this->params->get('page_title')); ?>
</h1>
<?php endif; ?>

<form action="<?php echo $this->action ?>" method="post" name="adminForm" onSubmit="setgood();">
<fieldset>
<legend><?php echo JText::_('Editor'); ?></legend>

<div class="save">
<button type="button" onclick="submitbutton('save')">
<?php echo JText::_('Save')?>
</button>
<button type="button" onclick="submitbutton('cancel')">
<?php echo JText::_('Cancel')?>
</button>
</div>

<div>
<label for="title">
<?php echo JText::_( 'Title' ); ?>:
</label>
<input class="inputbox" type="text" id="title" name="title" size="50" maxlength="100" value="<?php echo $this->escape($this->article->title); ?>" />
<input class="inputbox" type="hidden" id="alias" name="alias" value="<?php echo $this->escape($this->article->alias); ?>" />
</div>

<?php
echo $this->editor->display('text', $this->article->text, '100%', '400', '70', '15');
?>

</fieldset>

<fieldset>
<legend><?php echo JText::_('Publishing'); ?></legend>

<div>
<label class="label-left" for="sectionid">
<?php echo JText::_( 'Section' ); ?>:
</label>
<?php echo $this->lists['sectionid']; ?>
</div>

<div>
<label class="label-left" for="catid">
<?php echo JText::_( 'Category' ); ?>:
</label>
<?php echo $this->lists['catid']; ?>
</div>

<?php if ($this->user->authorize('com_content', 'publish', 'content', 'all')) : ?>
<div style="display: none;">
<label class="label-left" for="state">
<?php echo JText::_( 'Published' ); ?>:
</label>
<?php echo $this->lists['state']; ?>
</div>
<?php endif; ?>

<div style="display: none;">
<label class="label-left" for="frontpage">
<?php echo JText::_( 'Show on Front Page' ); ?>:
</label>
<?php echo $this->lists['frontpage']; ?>
</div>

<div style="display: none;">
<label class="label-left" for="created_by_alias">
<?php echo JText::_( 'Author Alias' ); ?>:
</label>
<input type="text" id="created_by_alias" name="created_by_alias" maxlength="100" value="<?php echo $this->escape($this->article->created_by_alias); ?>" class="inputbox" />
</div>

<div style="display: none;">
<label class="label-left" for="publish_up">
<?php echo JText::_( 'Start Publishing' ); ?>:
</label>
<?php echo JHTML::_('calendar', $publish_up, 'publish_up', 'publish_up', '%Y-%m-%d %H:%M:%S', array('class'=>'inputbox', 'size'=>'25',  'maxlength'=>'19')); ?>
</div>

<div style="display: none;">
<label class="label-left" for="publish_down">
<?php echo JText::_( 'Finish Publishing' ); ?>:
</label>
<?php echo JHTML::_('calendar', $publish_down, 'publish_down', 'publish_down', '%Y-%m-%d %H:%M:%S', array('class'=>'inputbox', 'size'=>'25',  'maxlength'=>'19')); ?>
</div>

<div style="display: none;">
<label class="label-left" for="access">
<?php echo JText::_( 'Access Level' ); ?>:
</label>
<?php echo $this->lists['access']; ?>
</div>

<div style="display: none;">
<label class="label-left" for="ordering">
<?php echo JText::_( 'Ordering' ); ?>:
</label>
<?php echo $this->lists['ordering']; ?>
</div>

</fieldset>
<!--
<fieldset>
<legend><?php echo JText::_('Metadata'); ?></legend>

<div>
<label class="label-left" for="metadesc">
<?php echo JText::_( 'Description' ); ?>:
</label>
<textarea rows="5" cols="50" style="width:500px; height:120px" class="inputbox" id="metadesc" name="metadesc"><?php echo str_replace('&','&amp;',$this->article->metadesc); ?></textarea>
</div>

<div>
<label class="label-left" for="metakey">
<?php echo JText::_( 'Keywords' ); ?>:
</label>
<textarea rows="5" cols="50" style="width:500px; height:50px" class="inputbox" id="metakey" name="metakey"><?php echo str_replace('&','&amp;',$this->article->metakey); ?></textarea>
</div>

</fieldset>
-->
<input type="hidden" name="option" value="com_content" />
<input type="hidden" name="id" value="<?php echo $this->article->id; ?>" />
<input type="hidden" name="version" value="<?php echo $this->article->version; ?>" />
<input type="hidden" name="created_by" value="<?php echo $this->article->created_by; ?>" />
<input type="hidden" name="referer" value="<?php echo str_replace(array('"', '<', '>', "'"), '', @$_SERVER['HTTP_REFERER']); ?>" />
<?php echo JHTML::_( 'form.token' ); ?>
<input type="hidden" name="task" value="" />
</form>

<?php echo JHTML::_('behavior.keepalive'); ?>

</div>
</div>
Спасибо FerrumLogic
Единственный баг, JCE Editor больше работать не хочет. Поставил редактор TinyMCE.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Чем лучше всего делать резервные копии сайта?

Автор 7Azimuth

Ответов: 115
Просмотров: 59857
Последний ответ 29.11.2023, 14:41:12
от sivers
Joomla 1.5 как убрать кнопку редактировать материант с сайта

Автор andriy465

Ответов: 5
Просмотров: 4182
Последний ответ 12.11.2023, 23:37:03
от all_zer
Не могу распаковать jpa архив сайта Akeeba backup. ajax error

Автор smadkz

Ответов: 4
Просмотров: 1967
Последний ответ 26.12.2020, 15:15:15
от stendapuss
Версия сайта для слабовидящих

Автор nikos

Ответов: 22
Просмотров: 44498
Последний ответ 27.11.2020, 11:04:18
от chernobyl
Поиск статьи по url сайта в админке Joomla 1.5

Автор Tema

Ответов: 5
Просмотров: 2256
Последний ответ 14.08.2020, 07:16:44
от rsn