Хак Похожие новости с картинкой. Косяк с картинками

Тема в разделе "DLE", создана пользователем webrulez, 30 авг 2011.

Информация :
Актуальная версия DataLife Engine 12.0
( Final Release v.12.0 | Скачать DataLife Engine | Скачать 12.0 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.3 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. webrulez

    webrulez Постоялец

    Регистр.:
    12 май 2008
    Сообщения:
    138
    Симпатии:
    2
    Есть такой хак, который поправляет вывод ралевантных новостей в конце полной новости, добавляя к ним картинку и описание.


    Так вот путь к картинке выглядит следующим образом: http://site.ru/internet/uploads/posts/2011-08/13139309901brizer.png


    где internet в данном случае - название категории, к которой относится эта новость. Из-за этого косяка картинки не выводятся.

    Это нужно убрать, не знаю как.


    Установка
    1. Открыть файл engine/inc/options.php

    Найти строку, которая начинается так:


    PHP:
    showRow$lang['opt_sys_related'],
    Под нее, вставить:
    PHP:
    showRow$lang['opt_sys_related_n'], $lang['opt_sys_relatedd_n'], "<input class=edit type=text style=\"text-align: center;\" name='save_con[related_news_n]' value=\"{$config['related_news_n']}\" size=5>" );
    2. Открыть файл language/Russian/adminpanel.lng

    Найти строку, начинающуюся на:


    PHP:
    'opt_sys_relatedd'
    Под нее вставить:

    PHP:
    'opt_sys_related_n' => "Обрезание описания",
    'opt_sys_relatedd_n' => "Количество символов в описании к похожей новости.",
    3. Открыть файл engine/modules/show.full.php
    Найти:


    PHP:
    SELECT idtitledatecategoryalt_nameflag FROM 
    Заменить на:
    PHP:
    SELECT idtitledatecategoryalt_nameshort_storyflag FROM 
    Найти и удалить строку:

    PHP:
    $buffer .= "<li><a href=\"" $full_link "\">" stripslashes$related['title'] ) . "</a></li>";
    В место нее, вставить:

    PHP:
    // *************************
    // START MODERN RELATED NEWS
    // *************************
    preg_match('|<img(.*) src="([^"]*)"[^>]*>|is'$related['short_story'], $pts);
    $thumba_parts pathinfo($pts[2]);
    if(
    $pts[2]){
    $pictitle stripslashes$related['title'] );
    $pic $thumba_parts['dirname'].'/'.$thumba_parts['basename'];
    $wide str_replace('thumbs/'""$pic);
    if(
    file_exists($wide)) $preview "<a href=\"$wide\" onclick=\"return hs.expand(this)\"><img src=\"$pic\" width=\"64px\"; alt=\"$pictitle\" title=\"$pictitle\"></a>";
    else 
    $preview "<img src=\"$pic\" width=\"64px\"; alt=\"$pictitle\" title=\"$pictitle\">";
    }
    else 
    $preview "<img style=\"border: medium none;\" src=\"{THEME}/images/nothumb.gif\" width=\"64px\" height=\"64px\">";
    $related['short_story'] = preg_replace("/\[attachment=[[:digit:]]*\]/si","",stripslashes($related['short_story']));
    $related['short_story'] = preg_replace("/<!--*-->/si","",$related['short_story']);
    $related['short_story'] = strip_tags($related['short_story']);
    if( 
    strlen$related['short_story'] ) > $config['related_news_n'] ) $related['short_story'] = substr$related['short_story'], 0$config['related_news_n'] ) . " ... <a href=\"$full_link\">Читать</a>";
    $buffer .= '<table width="100%" border="0" cellpadding="5" cellspacing="2" style="border-bottom: 1px dotted #E1E1E1;">
    <tr>
    <td width="100" height="100" align="center" valign="middle" style="border: 1px solid #E1E1E1;">'
    .$preview.'</td>
    <td width="91%" valign="top" style="padding-left: 7px; padding-bottom: 7px;"><strong><a href="'
    .$full_link.'">'.stripslashes$related['title']).'</a></strong><br>
    '
    .stripslashes($related['short_story']).'</td>
    </tr>
    </table><br>'
    ;
    // *************************
    // END MODERN RELATED NEWS
    // *************************
     
  2. Dr.Sheff

    Dr.Sheff

    Регистр.:
    20 ноя 2010
    Сообщения:
    175
    Симпатии:
    26
    проблема скорее всего в этой строчке
    PHP:
    $pic $thumba_parts['dirname'].'/'.$thumba_parts['basename'];
    а именно в этой переменной
    PHP:
    $thumba_parts['dirname']
    выведите её
    PHP:
    echo $thumba_parts['dirname'];
    чтобы узнать что в ней лежит, и уже вместо неё подставе нужный путь.
    Либо отследите, где эта переменная формируется.
     
  3. yavasilek

    yavasilek vasilek_gorbunok

    Регистр.:
    5 окт 2008
    Сообщения:
    1.174
    Симпатии:
    424
    попробуй вот это
    PHP:
    $pic $thumba_parts['dirname'].'/'.$thumba_parts['basename']; 
    поменять на вот это
    PHP:
    $pic $thumba_parts['dirname']..$thumba_parts['basename']; 
    ))
     
  4. webrulez

    webrulez Постоялец

    Регистр.:
    12 май 2008
    Сообщения:
    138
    Симпатии:
    2

    Parse error: syntax error, unexpected '.' in...


    Кстати забыл сообщить что сайт на денвере. Поставил этот хак на другой двиг на хосте - все нормально выдает, на хосте другая версия движка и в другой кадировке. Буду пробовать как есть залить на хост, там посмотрим, что за волшебство.
     
Статус темы:
Закрыта.