X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Плагин AntiVirus. Помогите разобраться.
bond312
bond312
Topic Starter сообщение 12.5.2013, 22:00; Ответить: bond312
Сообщение #1


Здравствуйте.
Помогите разобраться, плиз.
Плагин AntiVirus пишет о наличии заражения /themes/f2/functions.php, if(is_file(get_template_directory().'/custom.css')), где file выделен желтым цветом. Что здесь не так? К сожалению не сильна в этом. Подскажите в чем проблема, до сего дня антивирус ни на что не ругался, а менять я ничего не меняла. Спасибо всем откликнувшимся.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
andreykashops_hb
andreykashops_hb
сообщение 12.5.2013, 22:02; Ответить: andreykashops_hb
Сообщение #2


Скиньте все содержимое файла functions.php, но судя по коду - не должен быть вредоносным. И да, ссылку на сайт тоже желательно, можно в ЛС.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
bond312
bond312
Topic Starter сообщение 12.5.2013, 22:07; Ответить: bond312
Сообщение #3


Он такой огромный...
Развернуть/Свернуть
<?php
automatic_feed_links();
if ( function_exists('register_sidebar') ) {
register_sidebar(array(
  'name' => 'Left Sidebar'
));
register_sidebar(array(
  'name' => 'Right Sidebar'
));
}
$themename = "F2";
$shortname = "f2";
$version = "1.0.10";
load_theme_textdomain ('f2', get_template_directory().'/languages');
$options = array (
'header' => array (
  'name' => __('Header', 'f2'),
  'type' => 'section'
),
'header_img' => array (
  'name' => __('Header background image?', 'f2'),
  'type' => 'checkbox',
  'default' => 'off',
  'category' => 'header'
),
'header_img_url' => array(
  'name' => __('Header background image URL', 'f2'),
  'desc' => __('Tip: <a target="_blank" href="media-new.php">Upload your image here</a> and grab the url.', 'f2'),
  'type' => 'text',
  'category' => 'header',
  'th_class' => 'header_img_dependent',
  'class' => 'url'
),
'header_img_repeat' => array(
  'name' => __('Repeat header background image?', 'f2'),
  'desc' => '',
  'type' => 'checkbox',
  'default' => 'on',
  'category' => 'header',
  'th_class' => 'header_img_dependent'
),
'header_textlogo' => array(
  'name' => __('Show blog title & tagline in header?', 'f2'),
  'desc' => __('You may uncheck this option if you use a background image as logo.', 'f2'),
  'type' => 'checkbox',
  'default' => 'on',
  'category' => 'header',
  'th_class' => 'header_img_dependent'
),
'header_height' => array(
  'name' => __('Header height', 'f2'),
  'type' => 'text',
  'desc' => '',
  'default' => '90',
  'category' => 'header',
  'class' => 'pixels'
),
'header_bg_color' => array(
  'name' => __('Header background color', 'f2'),
  'desc' => '',
  'type' => 'text',
  'default' => '#6d97b7',
  'category' => 'header',
  'class' => 'colorinput'
),
'header_title_color' => array(
  'name' => __('Blog title font color', 'f2'),
  'type' => 'text',
  'desc' => '',
  'default' => '#d0e0f0',
  'category' => 'header',
  'class' => 'colorinput',
),
'header_desc_color' => array(
  'name' => __('Blog tagline font color', 'f2'),
  'type' => 'text',
  'desc' => '',
  'default' => '#ffffff',
  'category' => 'header',
  'class' => 'colorinput',
),
'hmenu' => array(
  'name' => __('Show horizontal menu?', 'f2'),
  'desc' => '',
  'type' => 'checkbox',
  'default' => 'on',
  'category' => 'header'
),
'hmenu_exclude' => array(
  'name' => __('Pages to be excluded in horizontal menu', 'f2'),
  'desc' => __('Comma separated page IDs', 'f2'),
  'type' => 'text',
  'default' => '',
  'category' => 'header',
  'th_class' => 'hmenu_dependent'
),
'hmenu_rss' => array(
  'name' => __('Show RSS feed link in horizontal menu?', 'f2'),
  'desc' => '',
  'type' => 'checkbox',
  'default' => 'on',
  'category' => 'header',
  'th_class' => 'hmenu_dependent'
),
array (
  'type' => 'section_close'
),
'sidebar' => array (
  'name' => __('Sidebar', 'f2'),
  'type' => 'section'
),
'sidebar_l' => array(
  'name' => __('Show left sidebar?', 'f2'),
  'desc' => '',
  'type' => 'checkbox',
  'default' => 'on',
  'category' => 'sidebar'
),
'sidebar_l_width' => array(
  'name' => __('Left sidebar width?', 'f2'),
  'desc' => '',
  'type' => 'text',
  'default' => '200',
  'category' => 'sidebar',
  'class' => 'pixels',
  'th_class' => 'sidebar_l_dependent'
),
'sidebar_l_fontsize' => array(
  'name' => __('Left sidebar fontsize', 'f2'),
  'desc' => '',
  'type' => 'select',
  'options' => array(
   array('0.85em', __('small', 'f2')),
   array('1em', __('medium', 'f2')),
   array('1.15em', __('large', 'f2'))
  ),
  'default' => '1em',
  'category' => 'sidebar',
  'class' => 'fontselect',
  'th_class' => 'sidebar_l_dependent'
),
'sidebar_r' => array(
  'name' => __('Show right sidebar?', 'f2'),
  'desc' => '',
  'type' => 'checkbox',
  'default' => 'on',
  'category' => 'sidebar'
),
'sidebar_r_width' => array(
  'name' => __('Right sidebar width?', 'f2'),
  'desc' => '',
  'type' => 'text',
  'default' => '200',
  'category' => 'sidebar',
  'class' => 'pixels',
  'th_class' => 'sidebar_r_dependent'
),
'sidebar_r_fontsize' => array(
  'name' => __('Right sidebar fontsize', 'f2'),
  'desc' => '',
  'type' => 'select',
  'options' => array(
   array('0.85em', __('small', 'f2')),
   array('1em', __('medium', 'f2')),
   array('1.15em', __('large', 'f2'))
  ),
  'default' => '1em',
  'category' => 'sidebar',
  'class' => 'fontselect',
  'th_class' => 'sidebar_r_dependent'
),
array (
  'type' => 'section_close'
),
'posts' => array (
  'name' => __('Blog posts', 'f2'),
  'type' => 'section'
),
'content_fontsize' => array(
  'name' => __('Blog post text size', 'f2'),
  'desc' => '',
  'type' => 'select',
  'options' => array(
   array('0.85em', __('small', 'f2')),
   array('1em', __('medium', 'f2')),
   array('1.15em', __('large', 'f2'))
  ),
  'default' => '1em',
  'category' => 'posts'
),
'show_author' => array(
  'name' => __('Show post author?', 'f2'),
  'desc' => '',
  'type' => 'checkbox',
  'default' => 'off',
  'category' => 'posts'
),
'show_cat' => array(
  'name' => __('Show post category?', 'f2'),
  'desc' => '',
  'type' => 'checkbox',
  'default' => 'on',
  'category' => 'posts'
),
'archive_posts' => array (
  'name' => __('Full post or excerpt in archive pages?', 'f2'),
  'desc' => __('Displaying only excerpt in archive pages is a better SEO practice.', 'f2'),
  'type' => 'select',
  'options' => array (
   array('full', __('Full post', 'f2')),
   array('excerpt', __('Only excerpt', 'f2'))
  ),
  'default' => 'excerpt',
  'category' => 'posts'
),
array (
  'type' => 'section_close'
),
'footer' => array (
  'name' => __('Footer', 'f2'),
  'type' => 'section'
),
'footer_text' => array(
  'name' => __('Footer text', 'f2'),
  'desc' => '',
  'type' => 'textarea',
  'default' => '&copy;&nbsp;'.date('Y').'&nbsp;'.get_bloginfo('name'),
  'category' => 'footer'
),
array (
  'type' => 'section_close'
),
'general' => array (
  'name' => __('General options', 'f2'),
  'type' => 'section'
),
'rounded_corners' => array (
  'name' => __('Rounded corners?', 'f2'),
  'desc' => __('Rounded corners add to the fluid nature of the theme. Note that this will add non-standard CSS code.', 'f2'),
  'type' => 'checkbox',
  'default' => 'off',
),
array (
  'type' => 'section_close'
),
);
function f2_add_admin()
{
global $themename, $shortname, $options;
if( $_GET['page'] == basename(__FILE__) ) {
  if(__('Save changes', 'f2') == $_REQUEST['action']) {
   foreach($options as $key => $option) {
  
    $id = $shortname.'_'.$key;
  
    if($option['type'] == 'checkbox')
     $value = $_REQUEST[$id]?'on':'off';
    else
     $value = isset($_REQUEST[$id])?stripslashes($_REQUEST[$id]):$option['default'];
  
    update_option($id, $value);
  
   }
   header("Location: themes.php?page=functions.php&saved=true");
   die;
  }
  else if(__('Reset to defaults', 'f2') == $_REQUEST['action']) {
   foreach($options as $key => $value)
    delete_option($shortname.'_'.$key);
   header("Location: themes.php?page=functions.php&reset=true");
   die;
  }

}
    add_theme_page($themename.' '.__('Settings', 'f2'), $themename.' '.__('Settings', 'f2'), 'edit_themes', basename(__FILE__), 'f2_admin');
}
function f2_admin() {
global $themename, $shortname, $version, $options;
    $options = $options;
    if ( $_REQUEST['saved'] ) echo '<div id="message" class="updated fade"><p><strong>'.__('Settings saved', 'f2').'</strong></p></div>';
    if ( $_REQUEST['reset'] ) echo '<div id="message" class="updated fade"><p><strong>'.__('Settings reset', 'f2').'</strong></p></div>';
?>
<div class="wrap">
<h2><?php echo $themename.' '; _e('Settings', 'f2'); ?></h2>
<div id="poststuff" class="metabox-holder">
<div class="stuffbox">
<div class="inside">
<table><tr>
<td style="width:60%;vertical-align:top;">
<p><strong><?php echo $themename; ?> WordPress theme</strong> <?php _e('version', 'f2'); ?> <strong><?php echo $version; ?></strong>. <?php printf(__('Visit <a href="%s">theme page</a>', 'f2'), 'http://freewordpressthemes.ru/f2-klassnaya-tema-dlya-wordpress.html'); ?>.</p>
<p>
<a href="#f2_header"><?php _e('Header Settings', 'f2'); ?></a>&nbsp;|
<a href="#f2_sidebar"><?php _e('Sidebar Settings', 'f2'); ?></a>&nbsp;|
<a href="#f2_posts"><?php _e('Posts Settings', 'f2'); ?></a>&nbsp;|
<a href="#f2_footer"><?php _e('Footer Settings', 'f2'); ?></a>&nbsp;|
<a href="#f2_general"><?php _e('General Settings', 'f2'); ?></a>
</p>
</td>
<td style="width:30%;vertical-align:top;">
<div style="max-width:240px;float:right;">
<p><?php _e('If you enjoy the theme, you can make a donation and support development. Thank you!', 'f2'); ?></p>
<div style="text-align:center;"><form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="7622318">
<input type="image" src="https://www.paypal.com/en_US/i/btn/btn_donate_SM.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
<img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">
</form></div>
</div>
</td>
</tr></table>
</div>
</div>
<form method="post">
<?php
  
foreach($options as $key => $option) {
  $id = $shortname.'_'.$key;
  $value = get_option($id, $option['default']);

  switch ($option['type'] ) {
   case "section": { ?>
<div class="stuffbox">
<h3 id="<?php echo $shortname.'_'.$key; ?>"><?php echo $option['name']; ?></h3>
<div class="inside">
<table class="form-table">
<?php break; }
   case "section_close": { ?>
</table>
</div>
</div>
<?php break; }
   case 'text': { ?>
<tr<?php if($option['th_class']) echo ' class="'.$option['th_class'].'"'; ?>>
<th scope="row"><label for="<?php echo $id; ?>"><?php echo $option['name']; ?></label></th>
<td>
  <input type="text" class="<?php echo $option['class']; ?>"" name="<?php echo $id; ?>" id="<?php echo $id; ?>" value="<?php echo $value; ?>"<?php if($option['class'] == 'colorinput') echo ' size="7"'; elseif($option['class'] == 'pixels') echo ' size="3"'; elseif($option['class'] == 'url') echo ' size="60"'; ?> />
  <?php if($option['class'] == 'pixels') echo "<span style='font-size:12px;'>px</span>"; ?>
  <?php if($option['class'] == 'colorinput') { ?>
  <a class="colorclose" style="cursor:pointer;"><?php _e('Close colorpicker', 'f2'); ?></a>
  <div id="colorpicker-<?php echo $key; ?>" class="colorpicker"></div>
  <?php } if($option['desc']) {
   if ($option['class'] == 'url')
    echo "<br />";
   echo "<span class='description' style='font-size:10px'>".$option['desc']."</span>";
  } ?>

</td>
</tr>
<?php break; }
   case 'checkbox': { ?>
<tr<?php if($option['th_class']) echo ' class="'.$option['th_class'].'"'; ?>>
<th scope="row"><label for="<?php echo $id; ?>"><?php echo $option['name']; ?></label></th>
<td>
  <input type="checkbox" class="<?php echo $option['class']; ?>" name="<?php echo $id; ?>" id="<?php echo $id; ?>"<?php if($value == 'on') echo ' checked="checked"'; ?> />
  <?php if($option['desc']) echo "<span class='description' style='font-size:10px'>".$option['desc']."</span>"; ?>
</td>
</tr>
<?php break; }
   case 'select': { ?>
<tr<?php if($option['th_class']) echo ' class="'.$option['th_class'].'"'; ?>>
<th scope="row"><label for="<?php echo $id; ?>"><?php echo $option['name']; ?></label></th>
<td>
  <select class="<?php echo $option['class']; ?>" name="<?php echo $id; ?>" id="<?php echo $id; ?>">
  <?php foreach ($option['options'] as $sel_opts) {
   echo '<option value="'.$sel_opts[0].'"';
   if($value == $sel_opts[0])
    echo ' selected="selected"';
   echo '>'.$sel_opts[1].'</option>';
  } ?>
  </select>
  <?php if($option['desc']) echo "<span class='description' style='font-size:10px'>".$option['desc']."</span>"; ?>
</td>
</tr>
<?php break; }
   case 'textarea': { ?>
<tr<?php if($option['th_class']) echo ' class="'.$option['th_class'].'"'; ?>>
<th scope="row"><label for="<?php echo $id; ?>"><?php echo $option['name']; ?></label></th>
<td>
  <textarea class="<?php echo $option['class']; ?>" name="<?php echo $id; ?>" id="<?php echo $id; ?>" style="width:100%; height:6em;"><?php echo $value; ?></textarea>
  <?php if($option['desc']) echo "<br /><span class='description' style='font-size:10px'>".$option['desc']."</span>"; ?>
</td>
</tr>
<?php break; }
  }
}
?>
<input name="action" value="<?php _e('Save changes', 'f2'); ?>" class="button-primary" type="submit">
<input name="action" value="<?php _e('Reset to defaults', 'f2'); ?>" class="button" type="submit">
</form>
</div>
</div>
<?php
}
add_action('admin_menu', 'f2_add_admin');

function f2_head()
{
global $shortname, $options;

foreach($options as $key => $option)
  $$key = get_option($shortname.'_'.$key, $option['default']);
if($header_img == 'on') {
  $style['#header']['background-image'] = "url('{$header_img_url}')";
  if($header_img_repeat == 'off')
   $style['#header']['background-repeat'] = "no-repeat";
}
if($header_bg_color && $header_bg_color != '#')
  $style['#header']['background-color'] = $header_bg_color;
if($header_textlogo == 'off')
  $style['#headerlogo']['visibility'] = 'hidden';
if($header_height && $header_height != 90)
  $style['#header']['height'] = $header_height.'px';
if($hmenu == 'off')
  $style['#hmenu']['display'] = 'none';
if($hmenu_rss == 'off')
  $style['#hmenu li.hmenu_rss']['display'] = 'none';
if($header_title_color && $header_title_color != '#')
  $style['#headerlogo h1 a']['color'] = $header_title_color;
if($header_desc_color && $header_desc_color != '#')
  $style['#headerlogo div.description']['color'] = $header_desc_color;
if($sidebar_r == 'off') {
  $style['#container']['padding-right'] = 0;
  $style['#wrapper']['border-right'] = 0;
  $style['#wrapper']['margin-right'] = 0;
}
else if($sidebar_r_width) {
  $style['#container']['padding-right'] = ($sidebar_r_width + 40).'px';
  $style['#wrapper']['border-right-width'] = ($sidebar_r_width + 40).'px';
  $style['#wrapper']['margin-right'] = '-'.($sidebar_r_width + 40).'px';
  $style['#sidebar_right'] = array (
   'width' => $sidebar_r_width.'px',
   'margin-right' => '-'.($sidebar_r_width + 40).'px',
  );
}
if($sidebar_l == 'off') {
  $style['#container']['padding-left'] = 0;
  $style['#wrapper']['border-left'] = 0;
  $style['#wrapper']['margin-left'] = 0;
}
else if($sidebar_l_width) {
  $style['#container']['padding-left'] = ($sidebar_l_width + 40).'px';
  $style['#wrapper']['border-left-width'] = ($sidebar_l_width + 40).'px';
  $style['#wrapper']['margin-left'] = '-'.($sidebar_l_width + 40).'px';
  $style['#sidebar_left'] = array (
   'width' => $sidebar_l_width.'px',
   'margin-left' => '-'.($sidebar_l_width + 40).'px',
  );
}
if($sidebar_r_fontsize)
  $style['#sidebar_right']['font-size'] = $sidebar_r_fontsize;
if($sidebar_l_fontsize)
  $style['#sidebar_left']['font-size'] = $sidebar_l_fontsize;
if($content_fontsize) {
  $style['.postentry p']['font-size'] = $content_fontsize;
  $style['.postentry ul']['font-size'] = $content_fontsize;
  $style['.postentry ol']['font-size'] = $content_fontsize;
}
if($style) {
  echo "n<!-- Fluid Blue customized styles generated by functions.php -->n";
  echo "<style type="text/css">n";
  foreach($style as $selector => $properties) {
   echo $selector." {n";
   foreach ($properties as $property => $value)
    echo "t{$property}: {$value};n";
   echo "}n";
  }
  echo "</style>n";
}
if($rounded_corners == 'on')
  echo '<link rel="stylesheet" href="'. get_bloginfo('template_url') . '/rounded-corners.css" type="text/css" media="screen" />'."n";
if(is_file(get_template_directory().'/custom.css'))
  echo '<link rel="stylesheet" href="'. get_bloginfo('template_url') . '/custom.css" type="text/css" media="screen" />'."n";
}
add_action('wp_head', 'f2_head');

function f2_admin_head()
{
if( $_GET['page'] == basename(__FILE__) ) {
$template_url = get_bloginfo('template_url');
?>
<script type="text/javascript" src="<?php echo get_bloginfo('template_url'); ?>/farbtastic/farbtastic.js"></script>
<link rel="stylesheet" href="<?php echo get_bloginfo('template_url'); ?>/farbtastic/farbtastic.css" type="text/css" />
<style type="text/css">
.colorpicker { display:none; }
.colorclose { display:none; }
</style>
<?php
}
}
add_action('admin_head', 'f2_admin_head');
function f2_admin_footer()
{
if( $_GET['page'] == basename(__FILE__) ) {
?>
<script type="text/javascript">
jQuery(document).ready(function() {
if(!jQuery('#f2_sidebar_l').is(':checked'))
  jQuery('.sidebar_l_dependent').hide();
jQuery('#f2_sidebar_l').change(function() {
  if(jQuery('#f2_sidebar_l').is(':checked'))
   jQuery('.sidebar_l_dependent').show();
  else
   jQuery('.sidebar_l_dependent').hide();
});
if(!jQuery('#f2_sidebar_r').is(':checked'))
  jQuery('.sidebar_r_dependent').hide();
jQuery('#f2_sidebar_r').change(function() {
  if(jQuery('#f2_sidebar_r').is(':checked'))
   jQuery('.sidebar_r_dependent').show();
  else
   jQuery('.sidebar_r_dependent').hide();
});
if(!jQuery('#f2_header_img').is(':checked'))
  jQuery('.header_img_dependent').hide();
jQuery('#f2_header_img').change(function() {
  if(jQuery('#f2_header_img').is(':checked'))
   jQuery('.header_img_dependent').show();
  else
   jQuery('.header_img_dependent').hide();
});
if(!jQuery('#f2_hmenu').is(':checked'))
  jQuery('.hmenu_dependent').hide();
jQuery('#f2_hmenu').change(function() {
  if(jQuery('#f2_hmenu').is(':checked'))
   jQuery('.hmenu_dependent').show();
  else
   jQuery('.hmenu_dependent').hide();
});
jQuery('#colorpicker-header_bg_color').farbtastic('#f2_header_bg_color');
jQuery('#colorpicker-header_title_color').farbtastic('#f2_header_title_color');
jQuery('#colorpicker-header_desc_color').farbtastic('#f2_header_desc_color');
jQuery('.colorinput').focus(function() {
  if(jQuery(this).val() == '') jQuery(this).val('#');
  jQuery(this).next('.colorclose').show();
  jQuery(this).next('.colorclose').next('div.colorpicker').slideDown();
});
jQuery('.colorclose').click(function() {
  jQuery(this).next('.colorpicker').slideUp();
  jQuery(this).hide();
});
  });
</script>
<?php
}
}
add_action('admin_footer', 'f2_admin_footer');

function f2_option($option)
{
global $shortname, $options;
return get_option($shortname.'_'.$option, $options[$option]['default']);
}
?>


http://1stajyr.ru
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
andreykashops_hb
andreykashops_hb
сообщение 12.5.2013, 22:14; Ответить: andreykashops_hb
Сообщение #4


Никакого вируса у Вас нету, данного файла вообще не сущестувует по указанному адресу. Строки
if(is_file(get_template_directory().'/custom.css'))
echo '<link rel="stylesheet" href="'. get_bloginfo('template_url') . '/custom.css" type="text/css" media="screen" />'."n";
}

по логике можно удалить, но тут нужно посмотреть удалять с } или без, т. к. может выскочить ошибка(точно сказать не могу, т. к. синтаксис не сохранялся особо).
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
bond312
bond312
Topic Starter сообщение 12.5.2013, 22:20; Ответить: bond312
Сообщение #5


Спасибо! Удалять ничего не буду так как опасаюсь навредить. Спасибо Вам за оперативность ))).
Сходила по ссылке в подписи на Ваш сайт - для меня много чего есть почитать,буду изучать.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Помогите вспомнить рекламного бота Телеграм для обмена рекламой
0 Mixatraider 725 21.2.2024, 23:42
автор: Mixatraider
Открытая тема (нет новых ответов) Ищу плагин для работы с партнеркой Я.Маркета
0 HavingingWorld 791 20.1.2024, 22:09
автор: HavingingWorld
Открытая тема (нет новых ответов) Плагин для Wordpress. Вывод контента в зависимости от страны пользователя.
8 neuch 2298 19.9.2022, 7:51
автор: neuch
Открытая тема (нет новых ответов) Помогите рещить проблему с монитором.
Почему низкое разрешение при подключении монитора через displayport?
0 Levels 1702 11.12.2020, 0:48
автор: Levels
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыУстановлю и активирую лицензионный плагин WP Rocket
13 Snapshot 2221 18.11.2020, 13:54
автор: Alex-777


 



RSS Текстовая версия Сейчас: 19.4.2024, 3:52
Дизайн