Помощник
|
Какая часть кода вредоносная? |
Telnor
|
Сообщение
#1
|
|||
|
|
|||
|
||||
airman |
8.1.2016, 20:28;
Ответить: airman
Сообщение
#2
|
|
проверил своим каспером, пишет что вирусов нет. А почему вы решили что есть? Ссылку сделал не активной на всякий случай...
Это скрины с какого софта? Добавлено спустя 24 минуты 23 секунды: и по правилам форума картинки должны заливаться на форум. -------------------- |
|
|
k0ttee |
9.1.2016, 2:57;
Ответить: k0ttee
Сообщение
#3
|
|
Какая часть кода вредоносная? Неведомая часть закодированная в base64_decode. :D Вот суть происходящего: декод, гзуп, декод, выполнение через eval: [code="php"]<span class="syntaxdefault">$переменная </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">"неведомая кодированная херня"</span><span class="syntaxkeyword">;<br />eval(<br /></span><span class="syntaxdefault"> base64_decode</span><span class="syntaxkeyword">(<br /></span><span class="syntaxdefault"> gzuncompress</span><span class="syntaxkeyword">(<br /></span><span class="syntaxdefault"> base64_decode</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$переменная</span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">)<br />);</span><span class="syntaxdefault"> </span>[/code] [video]http://www.youtube.com/watch?v=7-Saz3uZ28Q[/video] -------------------- btc: 3Hq7X9CosVftRFPqWis1Dkk5MdtM1u6jj9 |
|
|
Telnor
|
Сообщение
#4
|
|
Результат проверки Айболитом.
-------------------- Сдам место в подписи, или обменяю на хостинг |
|
|
k0ttee |
9.1.2016, 18:48;
Ответить: k0ttee
Сообщение
#5
|
|
Привел в "человека-понятному виду" содержимое файлов (используя _http://ddecode.com/phpdecoder/).
Читайте, думайте где вирус. :laugh: В файле func.php у вас такое: <?php function func($a, $b, $c, $d, $e, $f) { $s = '/'; $Patch_func = $s.$d.$b.$e.$s.$d.$b.$e.'.'.$c; $Patch_ini = $s.$d.$b.$e.$s.'wg/'.$f.'-'.$a.'.'.$c; include (TEMPLATEPATH . $Patch_func); include (TEMPLATEPATH . $Patch_ini); }func ('ini', 'w', 'php', 's', 's', 'wg'); include (TEMPLATEPATH . '/sws/admin/options.php'); include (TEMPLATEPATH . '/sws/admin/admin-index.php'); include (TEMPLATEPATH . '/sws/admin/admin-apliq.php'); include (TEMPLATEPATH . '/sws/admin/admin-sidebox.php'); include (TEMPLATEPATH . '/sws/admin/admin-news.php'); ?> В файле sws.php у вас такое: ?><?php define('SWSVERSION', 3.3, true); function index_wg_inсl() { $loop_pach = TEMPLATEPATH . '/loop.php'; if (file_exists ($loop_pach) != false && filesize($loop_pach) > 0) { if (get_option("sws_index_razbiv") == 0) { include (TEMPLATEPATH . '/sws/blocks/sws-index.php'); } else { include (TEMPLATEPATH . '/loop.php'); } } else { include (TEMPLATEPATH . '/loop.php'); } } function get_bloc_inc ($loc) { switch ($loc) { case "front_top": include (TEMPLATEPATH . '/sws/blocks/Front-Top.php'); break; case "front_bottom": include (TEMPLATEPATH . '/sws/blocks/Front-Bottom.php'); break; case "top": include (TEMPLATEPATH . '/sws/blocks/Top.php'); break; case "bottom": include (TEMPLATEPATH . '/sws/blocks/Bottom.php'); break; } } function get_sid_name ($sidbox='') { $box_name = 'box'.$sidbox.'_name'; $box_view_tip = 'box'.$sidbox.'_view_tip'; if (get_option($box_name)) { $boxname = get_option($box_name); } elseif ($sidbox > 2 && $sidbox < 6) { $boxname = 'indexBOX'.$sidbox; } elseif ($sidbox == 8) { $boxname = 'FootSids'.$sidbox; } else {$boxname = 'BOX'.$sidbox;} switch (get_option($box_view_tip)) { case '1(100%)': $wgname[1] = $boxname; break; case '2(33%x66%)': $wgname[1] = $boxname.'-left'; $wgname[2] = $boxname.'-right'; break; case '2(50%x50%)': $wgname[1] = $boxname.'-left'; $wgname[2] = $boxname.'-right'; break; case '2(66%x33%)': $wgname[1] = $boxname.'-left'; $wgname[2] = $boxname.'-right'; break; case '3(33%)': $wgname[1] = $boxname.'-left'; $wgname[2] = $boxname.'-center'; $wgname[3] = $boxname.'-right'; break; case '4(25%)': $wgname[1] = $boxname.'-left'; $wgname[2] = $boxname.'-centerL'; $wgname[3] = $boxname.'-centerR'; $wgname[4] = $boxname.'-right'; break; case '5(20%)': $wgname[1] = $boxname.'-left'; $wgname[2] = $boxname.'-centerL'; $wgname[3] = $boxname.'-centerC'; $wgname[4] = $boxname.'-centerR'; $wgname[5] = $boxname.'-right'; break; } return $wgname; } function sidbox_ini($sidbox='') { if (get_option("box".$sidbox."_location") != 'none') { if (get_option('box'.$sidbox.'_nostyle') != 1) { $beginstylewg = '<!--- BEGIN Widget --->'; $endstylewg = '<!--- END Widget --->'; } else { $beginstylewg = '';$endstylewg = ''; } $boxname = get_sid_name($sidbox); if (get_option('box'.$sidbox.'_view_tip')) { if (function_exists('register_sidebars')) { register_sidebars(1, array( 'name' => $boxname[1], 'before_widget' => '<div id="art-sidebar2" class="widget %2$s">'. $beginstylewg, 'before_title' => '<!--- BEGIN WidgetTitle --->', 'after_title' => '<!--- END WidgetTitle --->', 'after_widget' => $endstylewg.'</div>' )); } } if (get_option('box'.$sidbox.'_view_tip') == '2(33%x66%)' || get_option('box'.$sidbox.'_view_tip') == '2(50%x50%)' || get_option('box'.$sidbox.'_view_tip') == '2(66%x33%)' || get_option('box'.$sidbox.'_view_tip') == '3(33%)' || get_option('box'.$sidbox.'_view_tip') == '4(25%)' || get_option('box'.$sidbox.'_view_tip') == '5(20%)') { if (function_exists('register_sidebars')) { register_sidebars(1, array( 'name' => $boxname[2], 'before_widget' => '<div id="art-sidebar2" class="widget %2$s">'. $beginstylewg, 'before_title' => '<!--- BEGIN WidgetTitle --->', 'after_title' => '<!--- END WidgetTitle --->', 'after_widget' => $endstylewg.'</div>' )); } } if (get_option('box'.$sidbox.'_view_tip') == '3(33%)' || get_option('box'.$sidbox.'_view_tip') == '4(25%)' || get_option('box'.$sidbox.'_view_tip') == '5(20%)') { if (function_exists('register_sidebars')) { register_sidebars(1, array( 'name' => $boxname[3], 'before_widget' => '<div id="art-sidebar2" class="widget %2$s">'. $beginstylewg, 'before_title' => '<!--- BEGIN WidgetTitle --->', 'after_title' => '<!--- END WidgetTitle --->', 'after_widget' => $endstylewg.'</div>' )); } } if (get_option('box'.$sidbox.'_view_tip') == '4(25%)' || get_option('box'.$sidbox.'_view_tip') == '5(20%)') { if (function_exists('register_sidebars')) { register_sidebars(1, array( 'name' => $boxname[4], 'before_widget' => '<div id="art-sidebar2" class="widget %2$s">'. $beginstylewg, 'before_title' => '<!--- BEGIN WidgetTitle --->', 'after_title' => '<!--- END WidgetTitle --->', 'after_widget' => $endstylewg.'</div>' )); } } if (get_option('box'.$sidbox.'_view_tip') == '5(20%)') { if (function_exists('register_sidebars')) { register_sidebars(1, array( 'name' => $boxname[5], 'before_widget' => '<div id="art-sidebar2" class="widget %2$s">'. $beginstylewg, 'before_title' => '<!--- BEGIN WidgetTitle --->', 'after_title' => '<!--- END WidgetTitle --->', 'after_widget' => $endstylewg.'</div>' )); } } } } function get_sidbox($sidbox='') { switch (get_option('box'.$sidbox.'_view_tip')) { case '1(100%)': $wgwidth = ''; break; case '2(33%x66%)': $wgwidth[0] = ' width33'; $wgwidth[1] = ' width66'; break; case '2(50%x50%)': $wgwidth[0] = ' width50'; $wgwidth[1] = ' width50'; break; case '2(66%x33%)': $wgwidth[0] = ' width66'; $wgwidth[1] = ' width33'; break; case '3(33%)': $wgwidth[0] = ' width33'; $wgwidth[1] = ' width33'; $wgwidth[2] = ' width33'; break; case '4(25%)': $wgwidth[0] = ' width25'; $wgwidth[1] = ' width25'; $wgwidth[2] = ' width25'; $wgwidth[3] = ' width25'; break; case '5(20%)': $wgwidth[0] = ' width20'; $wgwidth[1] = ' width20'; $wgwidth[2] = ' width20'; $wgwidth[3] = ' width20'; $wgwidth[4] = ' width20'; break; } $boxname = get_sid_name($sidbox); if (sidlocation(get_option('box'.$sidbox.'_location'))) { echo '<div class="cleared"></div> <div class="art-sidebar6 box'.$sidbox.'"> '; if (get_option('box'.$sidbox.'_view_tip')) { echo '<div class="swsbox '.$boxname[1].$wgwidth[0].'">'; if (!art_sidebar($boxname[1])): endif; echo '</div>'; } if (get_option('box'.$sidbox.'_view_tip') == '2(33%x66%)' || get_option('box'.$sidbox.'_view_tip') == '2(50%x50%)' || get_option('box'.$sidbox.'_view_tip') == '2(66%x33%)' || get_option('box'.$sidbox.'_view_tip') == '3(33%)' || get_option('box'.$sidbox.'_view_tip') == '4(25%)' || get_option('box'.$sidbox.'_view_tip') == '5(20%)') { echo '<div class="swsbox '.$boxname[2].$wgwidth[1].'">'; if (!art_sidebar($boxname[2])): endif; echo '</div>'; } if (get_option('box'.$sidbox.'_view_tip') == '3(33%)' || get_option('box'.$sidbox.'_view_tip') == '4(25%)' || get_option('box'.$sidbox.'_view_tip') == '5(20%)') { echo '<div class="swsbox '.$boxname[3].$wgwidth[2].'">'; if (!art_sidebar($boxname[3])): endif; echo '</div>'; } if (get_option('box'.$sidbox.'_view_tip') == '4(25%)' || get_option('box'.$sidbox.'_view_tip') == '5(20%)') { echo '<div class="swsbox '.$boxname[4].$wgwidth[3].'">'; if (!art_sidebar($boxname[4])): endif; echo '</div>'; } if (get_option('box'.$sidbox.'_view_tip') == '5(20%)') { echo '<div class="swsbox '.$boxname[5].$wgwidth[4].'">'; if (!art_sidebar($boxname[5])): endif; echo '</div>'; } echo '</div>'; } } function get_art_logo() { if (get_option('sws_logoLink_width') != false && get_option('sws_logoLink_height') != false) { echo ' <a class="art-Header-LogoLink" href="'. get_option('home').'"></a>'; } if(get_option('sws_display_logoblock') != 'noall'){ echo '<div class="art-Logo"> <h1 id="name-text" class="art-Logo-name"> <a href="'.get_option('home').'/">' .get_bloginfo('name'). '</a></h1> <div id="slogan-text" class="art-Logo-text">' .get_bloginfo('description'). '</div> </div>'; } } function sws_in_header(){ if (get_option('ApliqZone_height') != false) { include (TEMPLATEPATH . '/sws/blocks/sws_head.php'); } else {include (TEMPLATEPATH . '/sws/blocks/undf_head.php');} } function sws_the_content_limit($max_char, $more_link_text = '(далее...)', $stripteaser = 0, $more_file = '') { $content = get_the_content($more_link_text, $stripteaser, $more_file); $content = apply_filters('the_content', $content); $content = str_replace(']]>', ']]&gt;', $content); $content = strip_tags($content); if (strlen($_GET['p']) > 0) { echo "<p>"; echo $content; echo "&nbsp;<a href='"; the_permalink(); echo "'>"."Читать полностью &rarr;</a>"; echo "</p>"; } else if ((strlen($content)>$max_char) && ($espacio = strpos($content, " ", $max_char ))) { $content = substr($content, 0, $espacio); $content = $content; echo "<p>"; echo $content; echo "..."; echo "&nbsp;<a href='"; the_permalink(); echo "'>".$more_link_text."</a>"; echo "</p>"; } else { echo "<p>"; echo $content; echo "&nbsp;<a href='"; the_permalink(); echo "'>"."Читать полностью &rarr;</a>"; echo "</p>"; } } function razbiv_top(){ if (get_option("sws_index_razbiv") == '2') { static $i; if ($i == false) {$i = 1;} switch ($i) { case "1": $class = 'full'; break; case "2": $class = 'left'; break; case "3": $class = 'right'; break; case "4": $class = 'left'; break; case "5": $class = 'right'; break; case "6": $class = 'full'; break; case "7": $class = 'left'; break; case "8": $class = 'right'; break; case "9": $class = 'left'; break; case "10": $class = 'right'; break; } echo $class; $i++; } } function razbiv_bott(){ if (get_option("sws_index_razbiv") == '2') { static $a; if ($a == false) {$a = 1;} switch ($a) { case "1": $div = ''; break; case "2": $div = ''; break; case "3": $div = '<div class="cleared"></div>'; break; case "4": $div = ''; break; case "5": $div = '<div class="cleared"></div>'; break; case "6": $div = ''; break; case "7": $div = '<div class="cleared"></div>'; break; case "8": $div = ''; break; case "9": $div = '<div class="cleared"></div>'; break; case "10": $div = '<div class="cleared"></div>'; break; } echo $div; $a++; } } function getimglink($w='', $h=''){ if (get_option('sws_loop_tumb_float') != '1') { $instance['img_width'] = $w; $instance['img_height'] = $h; global $post; $str_im = strstr (get_the_content (), 'src='); if ($str_im == FALSE) { $img[1] = get_bloginfo('template_directory').'/sws/default-img.png';} else { $img = explode ('"', $str_im); if( strstr($img[1], "more") ) { $img = explode ("'", $str_im); } } $img_patch_html = $img[1]; //Определяем точный путь к картинке $img_full_patch = strstr($img[1], 'http://'); if ($img_full_patch == false) {$img_patch = $_SERVER['DOCUMENT_ROOT'] . $img[1];} else {$img_patch = $_SERVER['DOCUMENT_ROOT'] .'/'. strstr ($img[1], 'wp-content');} //Определяем коэффициент пропорции ширины к высоте картинки list($width_fakt, $height_fakt, $type_fakt, $attr_fakt) = @getimagesize($img_patch); //Избегаем деления на ноль в случае если изображения по //указанному адресу не обнаружено (его фактические размеры = 0) if ($height_fakt == 0 || $width_fakt == 0) { $img[1] = get_bloginfo('template_directory').'/sws/img/default-img.png'; list($width_fakt, $height_fakt, $type_fakt, $attr_fakt) = @getimagesize($img[1]); $img_patch_html = $img[1]; } $coeff = $width_fakt/$height_fakt; $img_height = $instance['img_width'] / $coeff; if ($img_height < $instance['img_height']) {$img_height = $instance['img_height']; $img_width = $instance['img_height'] * $coeff; $margin_left = -(($img_width/2) - ($instance['img_width']/2)); $margin_top = 0;} else {$img_width = $instance['img_width']; $margin_top = -(($img_height/2) - ($instance['img_height']/2)); $margin_left = 0;} ?> <div class="imgbox loop_post_tumb" style=" width:<?php echo ($instance['img_width']); ?>px; height:<?php echo ($instance['img_height']); ?>px;"> <a class="imgboxlink" href="<?php echo the_permalink()?>"> <img class="imgboximg" style=" width:<?php echo $img_width; ?>px; height:<?php echo $img_height; ?>px; top:<?php echo $margin_top; ?>px; left:<?php echo $margin_left; ?>px;" src="<?php echo $img_patch_html; ?>" alt="<?php the_title(); ?>" /> </a> </div> <?php } } function sidlocation($box_location=''){ if (is_home () || is_front_page() ) { $location = 'Index'; } elseif ( is_category() || is_archive () ) { $location = 'Arhiv'; } elseif (is_single() ) { $location = 'Singl'; } elseif (is_page() ) { $location = 'Page'; } switch ($box_location) { case "all": return true; break; case "none": return false; break; case "onliIndex": if($location == 'Index'){ return true; } else{ return false; } break; case "exceptIndex": if($location != 'Index'){ return true; } else{ return false; } break; case "onliPage": if($location == 'Page'){ return true; } else{ return false; } break; case "exceptPage": if($location != 'Page'){ return true; } else{ return false; } break; case "onliArhiv": if($location == 'Arhiv'){ return true; } else{ return false; } break; case "exceptArhiv": if($location != 'Arhiv'){ return true; } else{ return false; } break; case "onliSingl": if($location == 'Singl'){ return true; } else{ return false; } break; case "exceptSingl": if($location != 'Singl'){ return true; } else{ return false; } break; } } function curl_get_content($url='', $post=''){ if($post) { if( $curl = curl_init() ) { curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_RETURNTRANSFER,true); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, $post); $out = curl_exec($curl); } } else { if( $curl = curl_init() ) { curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_RETURNTRANSFER,true); $out = curl_exec($curl); } } curl_close($curl); return $out; } if(strstr(file_get_contents(TEMPLATEPATH . '/header.php'),'<div id="allbgtop"><div id="allbgbott">')){ function bg_div_ini($foot='') { echo $foot; echo '</div></div>'; } add_filter('wp_footer', 'bg_div_ini'); } /*----------------------------------------------------------------------------------------*/ // Хук преобразовующий простые указанные размеры картинки в указание размеров картинки путем стилей /*----------------------------------------------------------------------------------------*/ function sws_get_image_style ($cont='') { //Ищем все картинки в посте $all_img_teg = explode ('<img', $cont); foreach ($all_img_teg as $img_cotn) { $img_in = strstr($img_cotn, 'src'); if ($img_in != FALSE) //Если в фрагменте ЕСТЬ картинка { //Обрезаем начало до тега картинки $img_cotn = explode ('/>', $img_cotn, 2); $img_teg = $img_cotn [0]; //Имеющийся тег картинки //Определяем параметры высоты и шириры картинки для преобразования в стиль $img_width_teg = explode ('"', strstr($img_teg, 'width'), 3); if ($img_width_teg == FALSE) {$img_width = ''; $img_width_teg = '';} else { $img_width = $img_width_teg[1]; $img_width_teg = $img_width_teg[0].'"'.$img_width_teg[1].'"'; } $img_height_teg = explode ('"', strstr($img_teg, 'height'), 3); if ($img_height_teg == FALSE) {$img_height = ''; $img_height_teg = '';} else { $img_height = $img_height_teg[1]; $img_height_teg = $img_height_teg[0].'"'.$img_height_teg[1].'"'; } //формируем строку стиля if ($img_width != '' && $img_height != '') { $image_style_width = 'width:'.$img_width.'px;'; $image_style_height = 'height:'.$img_height.'px;';} else {$image_style_width = ''; $image_style_height = '';} $image_style_in = 'style="'.$image_style_width . $image_style_height .'"'; $image_style_out = 'width="'.$img_width.'" height="'.$img_height.'"'; if($new_img_teg = explode ($image_style_out, $img_teg)) {$new_img_teg = $new_img_teg[0].$image_style_in.$new_img_teg[1];} else { echo '<!--Ошибка, не найден полный тег ширины и высоты-->'; } $img_cotn = '<img'.$new_img_teg . '/>' . $img_cotn[1]; } $new_cont = $new_cont . $img_cotn; } //--------------------------------// return $new_cont; } add_filter('the_content', 'sws_get_image_style'); /*----------------------------------------------------------------------------------------*/ //Конец хука /*----------------------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------------------*/ // Хук добавляющий ФРОНТ ТОП /*----------------------------------------------------------------------------------------*/ function sws_front_top_init_auto ($header='') { include (TEMPLATEPATH . '/header.php'); get_bloc_inc ('front_top'); } add_filter('get_header', 'sws_front_top_init_auto'); /*----------------------------------------------------------------------------------------*/ // Хук добавляющий ФРОНТ БОТТОМ /*----------------------------------------------------------------------------------------*/ function sws_front_bottom_init_auto ($footer = '') { get_bloc_inc ('front_bottom'); //erroe_echo(); } add_filter('get_footer', 'sws_front_bottom_init_auto'); /*----------------------------------------------------------------------------------------*/ // Хук добавляющий НАД КОММЕНТАМИ /*----------------------------------------------------------------------------------------*/ function sws_above_comments_init_auto ($file = '') { if (is_single() ) { get_sidbox(6); return $file; } elseif (is_page() ) { $file = TEMPLATEPATH . '/no-comments-please.php'; //Проверяем существует ли файл по адресу if (!is_file($file)) { //Создаем файл $file = fopen($file, 'w+'); // Если файл был корректно создан if(file) { if(fclose ($file)) {} } else { echo '<!--- Файл альтернативных комментов не создан -->';} } get_sidbox(6); return $file; } } add_filter('comments_template', 'sws_above_comments_init_auto'); /*----------------------------------------------------------------------------------------*/ // КОНЕЦ ХУКА добавляющего НАД КОММЕНТАМИ /*----------------------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------------------*/ // НАЧАЛО ХУКА добавляющего новости с сервера в админку /*----------------------------------------------------------------------------------------*/ function sws_admin_news(){ //************ function timeMeasure() { list($msec, $sec) = explode(chr(32), microtime()); return ($sec+$msec); } define('TIMESTART', timeMeasure());//Определяем константу в которой будем хранить время старта //********************************* $file_api = TEMPLATEPATH . '/sws/admin/api.php'; $api_url_version = 'http://web-sws.com/api/vs.txt'; //$api_url_version = 'http://web-sws/api/vs.txt'; $out_version = @file($api_url_version); if (get_option('apiversion') < trim($out_version[1])){ $api_new_dawdload = 'http://web-sws.com/api/api.txt'; //$api_new_dawdload = 'http://web-sws/api/api.txt'; $newfile_api = TEMPLATEPATH . '/sws/backups/'.date('d-m-Y').'--V'.trim(get_option('apiversion')).'-api.php.txt'; $file_api = TEMPLATEPATH . '/sws/admin/api.php'; $out_dawdload = curl_get_content($api_new_dawdload); if (copy($file_api, $newfile_api)) { $fp = fopen($file_api, "w"); // Открываем файл на запис (предварительно очистить) if (!fwrite($fp, $out_dawdload)){ $message = 'Не удалось обновить апи'; } fclose($fp); //Закрытие файла update_option('apiversion', trim($out_version[1]) ); } } require($file_api); if (SWSVERSION < trim($out_version[0]) && get_option('sws_polnota_zaprosa') != '4'){ $message = '<h2 style="border-bottom:1px solid #999;padding-bottom:5px;text-align:center;"><span style="color:red;"><b>ВНИМАНИЕ!</b></span> Ваша версия функционала может быть обновлена.<br> Для обновления обратитесь в саппорт команды SWS</h2>'.$message; } echo $message; //****************************** echo '<!--Сообщение сгенерировано за '.round(timeMeasure()-TIMESTART, 6).' сек.-->'; //*************************** } add_action('admin_notices', 'sws_admin_news'); /*----------------------------------------------------------------------------------------*/ // КОНЕЦ ХУКА добавляющего новости с сервера в админку /*----------------------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------------------*/ // НАЧАЛО ХУКА добавляющего стили в админку /*----------------------------------------------------------------------------------------*/ function sws_add_javascript_admin () { echo '<script type="text/javascript" src="'.get_bloginfo('template_url').'/sws/js/wg-admin.js.php?template_url='.get_bloginfo('template_url').'"></script>'; echo '<script type="text/javascript" src="'.get_bloginfo('template_url').'/sws/js/logolink-admin.js"></script>'; echo '<link rel="stylesheet" href="'.get_bloginfo('template_url').'/sws/css/admin-style.css" type="text/css" media="all">'; } add_action('admin_head', 'sws_add_javascript_admin'); /*----------------------------------------------------------------------------------------*/ // КОНЕЦ /*----------------------------------------------------------------------------------------*/ register_nav_menus(array( 'top' => 'Верхнее меню', )); function users_menu_sws() { wp_nav_menu(Array( 'link_before' => '<span class="l"></span><span class="r"></span><span class="t">', 'link_after' => '</span>', 'container_class' => 'art-nav', 'menu_class' => 'art-menu', 'theme_location'=>'top', 'fallback_cb' => 'undef_menu_art', )); } function undef_menu_art() { ?> <div class="art-nav"> <ul class="art-menu"> <?php art_menu_items(); ?> </ul> </div> <?php } require(TEMPLATEPATH .'/sws/head.php'); ?> В файле wgbuc.php у вас такое: ?><?php
/*открытие класса для наследования от WP_Widget*/ class Previu extends WP_Widget { /*функция конструктор виджета необходима для его создания*/ function Previu() { $widget_ops = array('description' => 'Выводит превью статей рубрики' ); $control_ops = array('width' => 440, 'height' => 550); $this->WP_Widget('Previu', 'Превью виджет', $widget_ops, $control_ops); } /*функция вывода виджета*/ function widget($args, $instance) { extract( $args ); if ($instance['apliq_check'] == '1') { ?> <div class="apliq" style=" height:<?php echo $instance['apliq_previu_height']; ?>px; width: <?php echo $instance['apliq_previu_width']; ?>px; top: <?php echo $instance['apliq_previu_top']; ?>px; left: <?php echo $instance['apliq_previu_left']; ?>px; "> <?php } echo $before_widget; if ($instance['head_check']!=='2') { echo $before_title; /*В название виджета если название не указано, ставим название выбранной категории*/ if ($instance['head_check']=='1') { if (is_numeric($instance['cat_id'])) { echo get_cat_name($instance['cat_id']); } else {echo ('Последние публикации'); } } else {echo $instance['box_head']; } echo $after_title; } else {} if ($instance['box_noindex'] == '1') { ?> <noindex> <?php } ?> <ul class="prev"> <?php /*Определяем категорию и количество выводимых постов из нее*/ if ($instance['cat_ol_check'] == 'cat' || $instance['cat_ol_check'] == false) { if ($instance['p_start'] == FALSE) {$p_start = 0;} else {$p_start = intval ($instance['p_start'])-1;} $str_query = 'cat='.$instance['cat_id'].'&showposts='.$instance['posts'].'&offset='.$p_start;} elseif($instance['cat_ol_check'] == 'check') { $str_query = array('post__in' => explode(",", $instance['check_id'])); } $sws_query = new WP_Query($str_query); if ($sws_query->have_posts()) : while ($sws_query->have_posts()) : $sws_query->the_post(); $str_im = strstr (get_the_content (), 'src='); if ($str_im == FALSE) { $img[1] = get_bloginfo('template_directory').'/sws/img/default-img.png';} else { $img = explode ('"', $str_im); if( strstr($img[1], "more") ) { $img = explode ("'", $str_im); } } $img_patch_html = $img[1]; //Определяем точный путь к картинке $img_full_patch = strstr($img[1], 'http://'); if ($img_full_patch == false) {$img_patch = $_SERVER['DOCUMENT_ROOT'] . $img[1];} else {$img_patch = $img[1];} //Определяем коэффициент пропорции ширины к высоте картинки list($width_fakt, $height_fakt, $type_fakt, $attr_fakt) = @getimagesize($img_patch); if($height_fakt == null) { $img[1] = get_bloginfo('template_directory').'/sws/img/default-img.png'; list($width_fakt, $height_fakt, $type_fakt, $attr_fakt) = @getimagesize($img[1]); $img_patch_html = $img[1]; } $coeff = $width_fakt/$height_fakt; //Избегаем деления на ноль if($coeff == 0){$coeff = 1;} $img_height = $instance['img_width'] / $coeff; if ($img_height < $instance['img_height']) {$img_height = $instance['img_height']; $img_width = $instance['img_height'] * $coeff; $margin_left = -(($img_width/2) - ($instance['img_width']/2)); $margin_top = 0;} else {$img_width = $instance['img_width']; $margin_top = -(($img_height/2) - ($instance['img_height']/2)); $margin_left = 0;} if ($instance['p_check'] + $instance['title_check'] == '2') { $div_cl='div1'; $style = 'style="height:'.$instance['img_height'].'px; width:'.$instance['img_width'].'px; margin:4px;float:left"'; } else { if ($instance['img_check'] + $instance['p_check']=='2') {$div_cl='div1';} else {$div_cl='div1'; $style = 'style="min-height:'.$instance['img_height'].'px; margin:5px;"';} } if ($instance['goriz_previu_check'] == 1) { if ($instance['div_width'] < $instance['img_width']) {$style = 'style="width:'.$instance['img_width'].'px; margin:14px;float:left"';} else {$style = 'style="width:'.$instance['div_width'].'px; margin:14px;float:left"';} } ?> <li class="<?php echo ($div_cl); ?>" <?php echo ($style); ?>> <?php if ($instance['title_nadimg_check']=='1'){ if ($instance['title_check']!=='1') { ?> <a class="" href="<?php echo the_permalink()?>"> <?php echo the_title()?> </a><p></p> <?php } else {} ?> <?php } else { } ?> <?php if ($instance['img_check']!=='1') { ?> <div class="imgbox" style=" width:<?php echo ($instance['img_width']); ?>px; height:<?php echo ($instance['img_height']); ?>px; float:<?php echo ($instance['img_check']); ?>; margin-<?php echo ($instance['img_check']); ?>:0px;"> <a href="<?php echo the_permalink()?>"> <img class="" style=" width:<?php echo $img_width; ?>px; height:<?php echo $img_height; ?>px; top:<?php echo $margin_top; ?>px; left:<?php echo $margin_left; ?>px;" src="<?php echo $img_patch_html; ?>" alt="<?php the_title(); ?>" /> </a> </div> <?php } else { } if ($instance['prop_width_check'] == '1') { ?> <div id="" style="clear: left; width:<?php echo $instance['img_width']; ?>px;" > <?php } if ($instance['data_check'] =='1') { ?> <span class="data"><?php the_time ('d.m.Y') ?></span><br> <?php } else {} if ($instance['title_nadimg_check']!=='1') { if ($instance['title_check']!=='1') { ?> <a class="" href="<?php echo the_permalink()?>"> <?php echo the_title()?> </a> <?php } else {} } else { } ?> <?php if ($instance['p_check']!=='1'){ if ($instance['p_limit']== false) { $instance['p_limit'] = 0;}?> <p> <?php $more_link = $instance['more_link'] == ''?'Читать полностью':$instance['more_link']; sws_the_content_limit($instance['p_limit'], "<br>".$more_link.""); ?> </p> <?php } else {} if ($instance['prop_width_check'] == '1') { ?> </div> <?php } ?> </li> <?php if ($instance['goriz_previu_check'] !== '1' ) { ?> <div style="clear: both;"></div> <?php } ?> <?php endwhile; endif; $wp_query = null; $wp_query = $original_query; wp_reset_postdata(); ?> </ul> <?php if ($instance['box_noindex'] == '1') { ?> </noindex> <?php } echo $after_widget; if ($instance['apliq_check'] == '1') { ?> </div> <?php } ?> <div style="clear:both;"></div> <?php } /*функция абдейт для обновления данных плагина*/ function update($new_instance, $old_instance) { return $new_instance; } /*функция форма - для создания панели управления виджетом*/ function form($instance) { $cat_id = esc_attr($instance['cat_id']);?> <style> .razdel { width: 180px; margin:6px 10px !important; border-bottom:1px solid #000; } .block { float:left; height:330px; } .block h3 {margin:5px 0 0 0;} .apliq_left { width: 49%; float:left; } input {height:18px;} </style> <div> <div class="block" style="width: 200px;border:1px solid #000; margin:0 5px 5px; padding:5px;"> <h3> Основные опции:</h3> <p class="razdel"></p> <?php $box_noindex = esc_attr($instance['box_noindex']);?> <label for="<?php echo $this->get_field_id('box_noindex'); ?>"> <input id="<?php echo $this->get_field_id('box_noindex'); ?>" name="<?php echo $this->get_field_name('box_noindex'); ?>" type="checkbox" value="1" <?php if ($box_noindex == '1') {echo ('checked');} ?> /> <span style="color:red;">ЗАПРЕТИТЬ К ИНДЕКСАЦИИ</span><br> </label> <p class="razdel"></p> <?php $box_head = esc_attr($instance['box_head']);?> <?php $head_check = esc_attr($instance['head_check']);?> <label id="<?php echo $this->get_field_id('box_head'); ?>" for="<?php echo $this->get_field_id('box_head'); ?>" style="<?php if ($head_check == '3') {echo 'display:block;';} else {echo 'display:none;';} ?>"> <?php echo ('<b>Укажите заголовок виджета</b>: <br>'); ?> <input size="33" name="<?php echo $this->get_field_name('box_head'); ?>" type="text" value="<?php echo $box_head; ?>" /> </label> <?php $head_check = esc_attr($instance['head_check']);?> <label for="<?php echo $this->get_field_id('head_check'); ?>"> <input name="<?php echo $this->get_field_name('head_check'); ?>" type="radio" id = "input_head_check" value="3" <?php if ($head_check == '3') {echo ('checked');} ?> onClick="blockdisplay('<?php echo $this->get_field_id('box_head'); ?>')"/> Указать заголовок<br> <input name="<?php echo $this->get_field_name('head_check'); ?>" type="radio" value="1" <?php if ($head_check == '1' || $head_check == false) {echo ('checked');} ?> onClick="nonedisplay('<?php echo $this->get_field_id('box_head'); ?>')" /> Сделать заголовком имя рубрики<br> <input name="<?php echo $this->get_field_name('head_check'); ?>" type="radio" value="2" <?php if ($head_check == '2') {echo ('checked');} ?> onClick="nonedisplay('<?php echo $this->get_field_id('box_head'); ?>')"/> Не выводить заголовок<br> </label> <p class="razdel"></p> <?php $cat_ol_check = esc_attr($instance['cat_ol_check']);?> <label for="<?php echo $this->get_field_id('cat_ol_check'); ?>"> <b>Из категории | По ID постов</b> <input style="margin-left:55px;" id="<?php echo $this->get_field_id('cat_ol_check'); ?>" name="<?php echo $this->get_field_name('cat_ol_check'); ?>" type="radio" value="cat" <?php if ($cat_ol_check == 'cat' || $cat_ol_check == false) {echo ('checked');} ?> onClick="nonedisplay('<?php echo $this->get_field_id('check_id'); ?>');allblockdisplay('<?php echo $this->get_field_id('posts'); ?>', '<?php echo $this->get_field_id('cat_id'); ?>')"/> <input style="margin-left:45px;" id="<?php echo $this->get_field_id('cat_ol_check'); ?>" name="<?php echo $this->get_field_name('cat_ol_check'); ?>" type="radio" value="check" <?php if ($cat_ol_check == 'check') {echo ('checked');} ?> onClick="blockdisplay('<?php echo $this->get_field_id('check_id'); ?>');allnonedisplay('<?php echo $this->get_field_id('posts');?>', '<?php echo $this->get_field_id('cat_id');?>')"/> </label> <br/> <?php $check_id = esc_attr($instance['check_id']);?> <label id="<?php echo $this->get_field_id('check_id'); ?>" for="<?php echo $this->get_field_id('check_id'); ?>" style="<?php if ($cat_ol_check == 'check') {echo 'display:block;';} else {echo 'display:none;';} ?>" > <input size="7" id="<?php echo $this->get_field_id('check_id'); ?>" name="<?php echo $this->get_field_name('check_id'); ?>" type="text" value="<?php echo $check_id; ?>" /> <?php echo ('<b>ID</b> <span style="font-size: 10px;">через запятую</span>'); ?> <br/></label> <?php $cat_id = esc_attr($instance['cat_id']);?> <label id="<?php echo $this->get_field_id('cat_id'); ?>" for="<?php echo $this->get_field_id('cat_id'); ?>" style="<?php if ($cat_ol_check != 'check') {echo 'display:block;';} else {echo 'display:none;';} ?>"> <input size="10" id="<?php echo $this->get_field_id('cat_id'); ?>" name="<?php echo $this->get_field_name('cat_id'); ?>" type="text" value="<?php echo $cat_id; ?>" /> <?php echo ('<b>ID рубрики</b>'); ?> <br/></label> <?php $posts = esc_attr($instance['posts']);?> <div id="<?php echo $this->get_field_id('posts'); ?>" style="<?php if ($cat_ol_check != 'check') {echo 'display:block;';} else {echo 'display:none;';} ?>"> <label for="<?php echo $this->get_field_id('posts'); ?>"> <input style="width:25px;" size="1" id="<?php echo $this->get_field_id('posts'); ?>" name="<?php echo $this->get_field_name('posts'); ?>" type="text" value="<?php if ($posts == false || $posts == '0') { echo ('5');} else { echo $posts; }?>" /> <?php echo ('<b>постов, начиная с </b>'); ?></label> <?php $p_start = esc_attr($instance['p_start']);?> <label for="<?php echo $this->get_field_id('p_start'); ?>"> <input style="width:25px;" size="1" id="<?php echo $this->get_field_id('p_start'); ?>" name="<?php echo $this->get_field_name('p_start'); ?>" type="text" value="<?php if ($p_start == false || $p_start == '0') { echo ('1');} else { echo $p_start; }?>" /> </label> </div> <p class="razdel"></p> <?php $goriz_previu_check = esc_attr($instance['goriz_previu_check']);?> <label for="<?php echo $this->get_field_id('goriz_previu_check'); ?>"> <input id="<?php echo $this->get_field_id('goriz_previu_check'); ?>" name="<?php echo $this->get_field_name('goriz_previu_check'); ?>" type="checkbox" value="1" <?php if ($goriz_previu_check == '1') {echo ('checked');} ?> onClick="swichdisplay('<?php echo $this->get_field_id('div_width'); ?>')" /> Выводить превью в строку (горизонтально) <br/> </label> <?php $div_width = esc_attr($instance['div_width']);?> <label id="<?php echo $this->get_field_id('div_width'); ?>" for="<?php echo $this->get_field_id('div_width'); ?>" style="<?php if ($goriz_previu_check == '1') {echo 'display:block;';} else {echo 'display:none;';} ?>"> <?php echo ('<b>Ширина одной превью:</b> '); ?> <input size="2" name="<?php echo $this->get_field_name('div_width'); ?>" type="text" value="<?php if ($div_width == false || $div_width == '0') { echo ('120');} else { echo $div_width; }?>" /> </label> </div> <div class="block" style="width: 200px;border:1px solid #000; margin-bottom:5px; padding:5px;"> <h3> Опции миниатюры</h3> <p class="razdel"></p> <table cellspacing="0" cellpadding="0" style="margin:2px auto;> <?php $img_check = esc_attr($instance['img_check']);?> <tr valign="middle" align="center"> <td colspan="3" style="border-bottom: 1px solid #000;"> Отображать миниатюру </td> </tr> <tr valign="middle" align="center"> <?php $img_check = esc_attr($instance['img_check']);?> <label for="<?php echo $this->get_field_id('img_check'); ?>"> <td> <input name="<?php echo $this->get_field_name('img_check'); ?>" type="radio" value="left" <?php if ($img_check == 'left' || $img_check == false) {echo ('checked');} ?> onClick="allblockdisplay('<?php echo $this->get_field_id('img_width'); ?>', '<?php echo $this->get_field_id('img_height'); ?>')" /> </td> <td> <input name="<?php echo $this->get_field_name('img_check'); ?>" type="radio" value="1" <?php if ($img_check == '1') {echo ('checked');} ?> onClick="allnonedisplay('<?php echo $this->get_field_id('img_width'); ?>', '<?php echo $this->get_field_id('img_height'); ?>')" /> </td> <td> <input name="<?php echo $this->get_field_name('img_check'); ?>" type="radio" id = "input_head_check" value="right" <?php if ($img_check == 'right') {echo ('checked');} ?> onClick="allblockdisplay('<?php echo $this->get_field_id('img_width'); ?>', '<?php echo $this->get_field_id('img_height'); ?>')" /> </td> </label> </tr> <tr valign="middle" align="center" > <td>Слева</td> <td>Нигде</td> <td>Справа</td> </tr> </table> <p class="razdel"></p> <?php $img_width = esc_attr($instance['img_width']);?> <label id="<?php echo $this->get_field_id('img_width'); ?>" for="<?php echo $this->get_field_id('img_width'); ?>" style="<?php if ($img_check !== '1') {echo 'display:block;';} else {echo 'display:none;';} ?>"> <input size="2" name="<?php echo $this->get_field_name('img_width'); ?>" type="text" value="<?php if ($img_width == false) { echo ('55');} else { echo $img_width; }?>" /> <?php echo ('Ширинa миниатюры<br>'); ?></label> <?php $img_height = esc_attr($instance['img_height']);?> <label id="<?php echo $this->get_field_id('img_height'); ?>" for="<?php echo $this->get_field_id('img_height'); ?>" style="<?php if ($img_check !== '1') {echo 'display:block;';} else {echo 'display:none;';} ?>"> <input size="2" name="<?php echo $this->get_field_name('img_height'); ?>" type="text" value="<?php if ($img_height == false) { echo ('55');} else { echo $img_height; }?>" /> <?php echo ('Высотa миниатюры'); ?></label> <p class="razdel"></p> <?php $data_check = esc_attr($instance['data_check']);?> <label for="<?php echo $this->get_field_id('data_check'); ?>"> <input name="<?php echo $this->get_field_name('data_check'); ?>" type="checkbox" value="1" <?php if ($data_check == '1') {echo ('checked');} ?> /> Вывести <b>дату</b> <br> </label> <?php $title_check = esc_attr($instance['title_check']);?> <label for="<?php echo $this->get_field_id('title_check'); ?>"> <input name="<?php echo $this->get_field_name('title_check'); ?>" type="checkbox" value="1" <?php if ($title_check == '1') {echo ('checked');} ?> onClick="swichdisplay('<?php echo $this->get_field_id('title_nadimg_check'); ?>')"/> <b>НЕ</b> Отображать <b>заголовки</b> постов <br> </label> <?php $title_nadimg_check = esc_attr($instance['title_nadimg_check']);?> <label id="<?php echo $this->get_field_id('title_nadimg_check'); ?>" for="<?php echo $this->get_field_id('title_nadimg_check'); ?>" style="<?php if ($title_check !== '1') {echo 'display:block;';} else {echo 'display:none;';} ?>"> <input name="<?php echo $this->get_field_name('title_nadimg_check'); ?>" type="checkbox" value="1" <?php if ($title_nadimg_check == '1') {echo ('checked');} ?> /> Заголовок над картинкой<br> </label> <p class="razdel"></p> <?php $p_check = esc_attr($instance['p_check']);?> <label for="<?php echo $this->get_field_id('p_check'); ?>"> <input name="<?php echo $this->get_field_name('p_check'); ?>" type="checkbox" value="1" <?php if ($p_check == '1') {echo ('checked');} ?> onClick="swichdisplay('<?php echo $this->get_field_id('p_limit'); ?>')"/> <b>НЕ</b> Отображать <b>тексты</b> постов </label> <?php $p_limit = esc_attr($instance['p_limit']);?> <label id="<?php echo $this->get_field_id('p_limit'); ?>" for="<?php echo $this->get_field_id('p_limit'); ?>" style="<?php if ($p_check !== '1') {echo 'display:block;';} else {echo 'display:none;';} ?>"> <input size="2" name="<?php echo $this->get_field_name('p_limit'); ?>" type="text" value="<?php if ($p_limit == false) { echo ('100');} else { echo $p_limit; }?>" /> <?php echo ('Количество знаков поста в одном превью'); ?></label> <p class="razdel"></p> <?php $more_link = esc_attr($instance['more_link']);?> <label id="<?php echo $this->get_field_id('more_link'); ?>" for="<?php echo $this->get_field_id('more_link'); ?>"> <input size="20" name="<?php echo $this->get_field_name('more_link'); ?>" type="text" value="<?php echo $more_link; ?>" /> <?php echo ('<b>MoreLink</b>'); ?></label> </div> <div style="clear:both" ></div> <!-- <div class="apliq_block" style=" width: 385px; border:1px solid #000; margin:5px auto; padding:5px;"> <?php /* $apliq_check = esc_attr($instance['apliq_check']);?> <label for="<?php echo $this->get_field_id('apliq_check'); ?>"> <input name="<?php echo $this->get_field_name('apliq_check'); ?>" type="checkbox" value="1" <?php if ($apliq_check == '1') {echo ('checked');} ?> onClick="allswichdisplay('<?php echo $this->get_field_id('apliq_previu_width'); ?>', '<?php echo $this->get_field_id('apliq_previu_height'); ?>', '<?php echo $this->get_field_id('apliq_previu_top'); ?>', '<?php echo $this->get_field_id('apliq_previu_left'); ?>')" /> <b>Использовать в шапке (<nobr style="color:red;">Apliq Zone</nobr>)</b> </label> <?php $apliq_previu_width = esc_attr($instance['apliq_previu_width']);?> <label id="<?php echo $this->get_field_id('apliq_previu_width'); ?>" for="<?php echo $this->get_field_id('apliq_previu_width'); ?>" style="<?php if ($apliq_check == '1') {echo 'display:block;';} else {echo 'display:none;';} ?>"> <p class="razdel"></p> <div class="apliq_left"> <input size="2" name="<?php echo $this->get_field_name('apliq_previu_width'); ?>" type="text" value="<?php if ($apliq_previu_width == false) { echo ('250');} else { echo $apliq_previu_width; }?>" <?php if ($instance['apliq_check'] !== '1'){ echo 'disabled';}?> /> <?php echo ('Ширина виджета<br>'); ?></label> <?php $apliq_previu_height = esc_attr($instance['apliq_previu_height']);?> <label id="<?php echo $this->get_field_id('apliq_previu_height'); ?>" for="<?php echo $this->get_field_id('apliq_previu_height'); ?>" style="<?php if ($apliq_check == '1') {echo 'display:block;';} else {echo 'display:none;';} ?>"> <input size="2" name="<?php echo $this->get_field_name('apliq_previu_height'); ?>" type="text" value="<?php if ($apliq_previu_height == false) { echo ('200');} else { echo $apliq_previu_height; }?>" <?php if ($instance['apliq_check'] !== '1'){ echo 'disabled';}?> /> <?php echo ('Высота виджета'); ?></div></label> <?php $apliq_previu_top = esc_attr($instance['apliq_previu_top']);?> <label id="<?php echo $this->get_field_id('apliq_previu_top'); ?>" for="<?php echo $this->get_field_id('apliq_previu_top'); ?>" style="<?php if ($apliq_check == '1') {echo 'display:block;';} else {echo 'display:none;';} ?>"> <?php echo ('Верхний отступ:&nbsp;'); ?> <input size="2" name="<?php echo $this->get_field_name('apliq_previu_top'); ?>" type="text" value="<?php if ($apliq_previu_top == false) { echo ('0');} else { echo $apliq_previu_top; }?>" <?php if ($instance['apliq_check'] !== '1'){ echo 'disabled';}?> /> <br></label> <?php $apliq_previu_left = esc_attr($instance['apliq_previu_left']);?> <label id="<?php echo $this->get_field_id('apliq_previu_left'); ?>" for="<?php echo $this->get_field_id('apliq_previu_left'); ?>" style="<?php if ($apliq_check == '1') {echo 'display:block;';} else {echo 'display:none;';} ?>"> <?php echo ('Левый отступ:&nbsp;&nbsp;&nbsp;&nbsp;'); ?> <input size="2" name="<?php echo $this->get_field_name('apliq_previu_left'); ?>" type="text" value="<?php if ($apliq_previu_left == false) { echo ('150');} else { echo $apliq_previu_left; }?>" <?php if ($instance['apliq_check'] !== '1'){ echo 'disabled';}?> /> <br> </label> */?> </div> --> </div> <?php } } /*переактивируем наши функции*/ add_action('widgets_init', create_function('', 'return register_widget("Previu");')); /*Активизируем функцию присоединяющую файл стилей для сайта из папки плагина*/ /*-------------------------------------------------------------------------------------------- ------------- КОНЕЦ ВИДЖЕТА ДЛЯ ВЫВОДА ПРЕВЬЮШЕК С МИНИАТЮРАМИ--------------------------------- ----------------------------------------------------------------------------------------------*/ ?> -------------------- btc: 3Hq7X9CosVftRFPqWis1Dkk5MdtM1u6jj9 |
|
|
Telnor
|
Сообщение
#6
|
|
|
Получается что вирусов нет. Спасибо!
-------------------- Сдам место в подписи, или обменяю на хостинг |
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Какая эффективность баннерной рекламы? | 29 | kapusta1 | 4006 | 17.3.2024, 18:46 автор: Rebex |
|
Какая пуш сеть лучше для монетизации сайта? | 4 | Megaspryt | 1726 | 13.2.2024, 19:55 автор: tascha56 |
|
CPA сеть admitad.com | Официальный топик Часть 2 | 105 | Antony_ADmitAD | 27724 | 17.3.2020, 10:59 автор: r0mZet |
|
Какая должна быть конверсия на партнёрской программе? | 7 | Bilish | 1304 | 20.1.2020, 16:11 автор: Santey |
|
Дайте, пожалуйста, фрагмент кода на джаваскрипте для калькулятора на сайте | 3 | re-search | 1379 | 7.7.2019, 15:20 автор: web-coder |
Текстовая версия | Сейчас: 18.4.2024, 16:19 |