Забыли пароль?
Запросите новый здесь.

Автор темы: jikaka
ID темы: 1180
Информация:
Тема содержит 17 сообщения, была просмотрена 5865 раз.
Просмотр темы
PHP-Fusion Russia » Расширения » Хаки/скрипты
 Распечатать тему
Ссылка на источник новости
jikaka
Для новостных сайтов будет вполне полезной вещью.

1. Открываем news.php, находим:
Скачать исходники  Код
$news_info = array(
            "news_id" => $data['news_id'],
            "user_id" => $data['user_id'],
            "user_name" => $data['user_name'],
            "user_status" => $data['user_status'],
            "news_date" => $data['news_datestamp'],
            "cat_id" => $data['news_cat'],
            "cat_name" => $data['news_cat_name'],
            "cat_image" => $news_cat_image,
            "news_subject" => $data['news_subject'],
            "news_ext" => $data['news_extended'] ? "y" : "n",
            "news_reads" => $data['news_reads'],
            "news_comments" => $comments,
            "news_allow_comments" => $data['news_allow_comments'],
            "news_sticky" => $data['news_sticky']
         );



заменяем на:
Скачать исходники  Код
$news_info = array(
            "news_id" => $data['news_id'],
            "user_id" => $data['user_id'],
            "user_name" => $data['user_name'],
            "user_status" => $data['user_status'],
            "news_date" => $data['news_datestamp'],
            "cat_id" => $data['news_cat'],
            "cat_name" => $data['news_cat_name'],
            "cat_image" => $news_cat_image,
            "news_subject" => $data['news_subject'],
            "news_ext" => $data['news_extended'] ? "y" : "n",
            "news_reads" => $data['news_reads'],
            "news_comments" => $comments,
            "news_allow_comments" => $data['news_allow_comments'],
            "news_source_url" => $data['news_source_url'],
            "news_source_title" => $data['news_source_title'],
            "news_sticky" => $data['news_sticky']
         );



находим:
Скачать исходники  Код
$news_info = array(
         "news_id" => $data['news_id'],
         "user_id" => $data['user_id'],
         "user_name" => $data['user_name'],
         "user_status" => $data['user_status'],
         "news_date" => $data['news_datestamp'],
         "cat_id" => $data['news_cat'],
         "cat_name" => $data['news_cat_name'],
         "cat_image" => $news_cat_image,
         "news_subject" => $data['news_subject'],
         "news_ext" => "n",
         "news_reads" => $data['news_reads'],
         "news_comments" => dbcount("(comment_id)", DB_COMMENTS, "comment_type='N' AND comment_item_id='".$data['news_id']."' AND comment_hidden='0'"),
         "news_allow_comments" => $data['news_allow_comments'],
         "news_sticky" => $data['news_sticky']
      );



заменяем на:
Скачать исходники  Код
$news_info = array(
         "news_id" => $data['news_id'],
         "user_id" => $data['user_id'],
         "user_name" => $data['user_name'],
         "user_status" => $data['user_status'],
         "news_date" => $data['news_datestamp'],
         "cat_id" => $data['news_cat'],
         "cat_name" => $data['news_cat_name'],
         "cat_image" => $news_cat_image,
         "news_subject" => $data['news_subject'],
         "news_ext" => "n",
         "news_reads" => $data['news_reads'],
         "news_comments" => dbcount("(comment_id)", DB_COMMENTS, "comment_type='N' AND comment_item_id='".$data['news_id']."' AND comment_hidden='0'"),
         "news_allow_comments" => $data['news_allow_comments'],
         "news_source_url" => $data['news_source_url'],
         "news_source_title" => $data['news_source_title'],
         "news_sticky" => $data['news_sticky']
      );



сохраняем файл.

2. Открываем administration/news.php, находим:
Скачать исходники  Код
$news_subject = stripinput($_POST['news_subject']);



после добавляем:
Скачать исходники  Код
$news_source_url = stripinput($_POST['news_source_url']);
$news_source_title = stripinput($_POST['news_source_title']);



находим:
Скачать исходники  Код
UPDATE ".DB_NEWS." SET news_subject='$news_subject',



заменяем на:
Скачать исходники  Код
UPDATE ".DB_NEWS." SET news_subject='$news_subject', news_source_url='$news_source_url',



находим:
Скачать исходники  Код
$result = dbquery("INSERT INTO ".DB_NEWS." (news_subject, news_cat, news_news, news_extended, news_breaks, news_name, news_datestamp, news_start, news_end, news_image, news_image_t1, news_image_t2, news_visibility, news_draft, news_sticky, news_reads, news_allow_comments, news_allow_ratings) VALUES ('$news_subject', '$news_cat', '$body', '$body2', '$news_breaks', '".$userdata['user_id']."', '".($news_start_date != 0 ? $news_start_date : time())."', '$news_start_date', '$news_end_date', '$news_image', '$news_image_t1', '$news_image_t2', '$news_visibility', '$news_draft', '$news_sticky', '0', '$news_comments', '$news_ratings')");



заменяем на:
Скачать исходники  Код
$result = dbquery("INSERT INTO ".DB_NEWS." (news_subject, news_source_url, news_source_title, news_cat, news_news, news_extended, news_breaks, news_name, news_datestamp, news_start, news_end, news_image, news_image_t1, news_image_t2, news_visibility, news_draft, news_sticky, news_reads, news_allow_comments, news_allow_ratings) VALUES ('$news_subject', '$news_source_url', '$news_source_title', '$news_cat', '$body', '$body2', '$news_breaks', '".$userdata['user_id']."', '".($news_start_date != 0 ? $news_start_date : time())."', '$news_start_date', '$news_end_date', '$news_image', '$news_image_t1', '$news_image_t2', '$news_visibility', '$news_draft', '$news_sticky', '0', '$news_comments', '$news_ratings')");



находим:
Скачать исходники  Код
$result = dbquery("SELECT news_subject, news_cat, news_news, news_extended, news_start, news_end, news_image, news_image_t1, news_image_t2, news_visibility, news_draft, news_sticky, news_breaks, news_allow_comments, news_allow_ratings FROM ".DB_NEWS." WHERE news_id='".(isset($_POST['news_id']) ? $_POST['news_id'] : $_GET['news_id'])."' LIMIT 1");



заменяем на:
Скачать исходники  Код
$result = dbquery("SELECT news_subject, news_source_url, news_source_title, news_cat, news_news, news_extended, news_start, news_end, news_image, news_image_t1, news_image_t2, news_visibility, news_draft, news_sticky, news_breaks, news_allow_comments, news_allow_ratings FROM ".DB_NEWS." WHERE news_id='".(isset($_POST['news_id']) ? $_POST['news_id'] : $_GET['news_id'])."' LIMIT 1");



находим:
Скачать исходники  Код
$news_subject = $data['news_subject'];



ниже добавляем:
Скачать исходники  Код
$news_source_url = $data['news_source_url'];
$news_source_title = $data['news_source_title'];



находим:
Скачать исходники  Код
$news_subject = "";



после добавляем:
Скачать исходники  Код
$news_source_url = "";
$news_source_title = "";



находим:
Скачать исходники  Код
echo "<td width='80%' class='tbl'><input type='text' name='news_subject' value='".$news_subject."' class='textbox' style='width: 250px' /></td>\n";
echo "</tr>\n<tr>\n";



после добавляем:
Скачать исходники  Код
echo "<td width='100' class='tbl'>Source info:</td>\n";
echo "<td width='80%' class='tbl'>Source URL: <input type='text' name='news_source_url' value='".$news_source_url."' class='textbox' style='width: 250px' />
<br />Source title: <input type='text' name='news_source_title' value='".$news_source_title."' class='textbox' style='width: 250px' /></td>\n";
echo "</tr>\n<tr>\n";



сохраняем файл.

Теперь нужно отредактировать файл theme.php (функцию render_news).
В каждой теме данная часть может быть разной, поэтому ниже приводится код, который вам надо будет добавить.

3. Открываем файл theme.php вашей темы, находим функцию render_news и добавляем к ней следующий код:
Скачать исходники  Код
/* News source */
      if (!strstr($info['news_source_url'], "http://") && !strstr($info['news_source_url'], "https://")) {
         $urlprefix = "http://";
          } else {
         $urlprefix = "";
      }
       if($info['news_source_url'] != "" && $info['news_source_title'] != ""){
           echo " <strong>Source:</strong> <a href='".$urlprefix.$info['news_source_url']."' title='".$urlprefix.$info['news_source_url']."' target='_blank'>".$info['news_source_title']."</a>";
           }
           /* News source */



4. И последнее, вы должны добавить новые поля в вашу базу данных в таблицу новостей.
Для этого необходимо перейти в Панель админа -> Дополнительные страницы
Потом скопировать и вставить в страницу нижеприведенный код и нажить кнопку "Предпросмотр".
Скачать исходники  Код
<?php
$result = dbquery("ALTER TABLE ".DB_NEWS." ADD news_source_url VARCHAR(250) NOT NULL DEFAULT '' AFTER news_allow_ratings");
$result = dbquery("ALTER TABLE ".DB_NEWS." ADD news_source_title VARCHAR(200) NOT NULL DEFAULT '' AFTER news_source_url");
?>



После этого можно проверять результат.
x1
 
Web
Polarfox
имхо шагов дофига,
на офе я не стал этого писать, но думаю что можно было инсталяжку чтоли сделать ему...

Еще, лучше два субшага (находим-заменяем) чем нить объединять, для наглядности.
Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле. | Вся бесплатная тех. поддержка только на форуме
x3
 
jikaka
согласен, но тут правки всего на 3 файла
делается в течение 5 минут
не считаю это затратным для того, кому это необходимо
 
Web
Alex
ровно 20 минут ушло!
x1
 
Web
Alex
ссылка на источник вылазит на странице где все новости, как сделать чтоб она была только внутри новости?
 
Web
jikaka
поставь условие на проверку readmore
если есть, то выводить
это в файле theme.php
 
Web
Alex
в файле news.php
у меня в районе 73 строки
Скачать исходники  Код

$news_info = array(
            "news_id" => $data['news_id'],
            "user_id" => $data['user_id'],
            "user_name" => $data['user_name'],
            "user_status" => $data['user_status'],
            "news_date" => $data['news_datestamp'],
            "cat_id" => $data['news_cat'],
            "cat_name" => $data['news_cat_name'],
            "cat_image" => $news_cat_image,
            "news_subject" => $data['news_subject'],
            "news_ext" => $data['news_extended'] ? "y" : "n",
            "news_reads" => $data['news_reads'],
            "news_comments" => $comments,
            "news_allow_comments" => $data['news_allow_comments'],
            "news_sticky" => $data['news_sticky']
         );




вот так оставил

а в районе 127 строки
Скачать исходники  Код

$news_info = array(
         "news_id" => $data['news_id'],
         "user_id" => $data['user_id'],
         "user_name" => $data['user_name'],
         "user_status" => $data['user_status'],
         "news_date" => $data['news_datestamp'],
         "cat_id" => $data['news_cat'],
         "cat_name" => $data['news_cat_name'],
         "cat_image" => $news_cat_image,
         "news_subject" => $data['news_subject'],
         "news_ext" => "n",
         "news_reads" => $data['news_reads'],
         "news_comments" => dbcount("(comment_id)", DB_COMMENTS, "comment_type='N' AND comment_item_id='".$data['news_id']."' AND comment_hidden='0'"),
         "news_allow_comments" => $data['news_allow_comments'],
      "news_source_url" => $data['news_source_url'],
        "news_source_title" => $data['news_source_title'],
            "news_sticky" => $data['news_sticky']
      );





ссылка на источник осталась только внутри новости.


UPD при таком варианте журнал ошибок ругается на файл темы
 
Web
Alex
а что если прописать не в файле темы в файле news.php? знаю где, не знаю что.

пробовал код из файла темы вставить, ничего не вышло
 
Web
jikaka
поставь условие на проверку readmore
если есть, то выводить
это в файле theme.php

 
Web
Alex
заметил что перестало сохраняться изменения новости, т.е. новость отлично добавляется но в последующем изменить ее нельзя стало, подумав что последнее я добавлял на сайт данный скрипт, решил вернуть бекапнутый файл (/administration/news.php) и о чудо все опять заработало, так что здесь где то косяк, либо я у себя накосячил.

кто это еще у себя делал проверьте работает ли у вас редактирование новостей, в админке при сохранении пишет что пункт изменен а в реалии нет!
 
Web
mishqa35
Ошибка в п2, 2 шаг
Открываем administration/news.php, находим:
Скачать исходники  Код
UPDATE ".DB_NEWS." SET news_subject='$news_subject',



заменяем на:
Скачать исходники  Код
UPDATE ".DB_NEWS." SET news_subject='$news_subject', news_source_url='$news_source_url', news_source_title='$news_source_title',



Потеряли news_source_title))
x1
 
Web
Alex
mishqa35, спасибо работает!
 
Web
GORDON
а скрин или реальный сайт дать, посмотреть как все это выглядит?
x1
 
Alex
на скрине админка
linkme.ufanet.ru/images/96ef0ad0e37c89f968eaa76cfd3e8583.jpg

как это выглядит в новости
x1
 
Web
yury
можно произвольный титл прописывать даже?
 
Alex
yury написал:

можно произвольный титл прописывать даже?


конечно!!! что напишите то и отобразиться
 
Web
KaBaN
Ребят, расскажите подробнее как сделать вывод только в полной новости? Что бы файл темы не ругался.
Изменил(а) KaBaN, 07.11.2016 17:41
 

Поделиться этой темой
Социальные закладки: Vkontakte Odnoklassniki Mail.ru Facebook Google Tweet This
URL:
BBcode:
HTML:

Перейти на форум:
Похожие темы
Темы Форум Ответов / Просмотров Последние сообщения
php-fusion 9.0 не добавляются новости  →  Установка и настройка системы 3 / 627 05.09.2019 17:10
Как найти в БД для панели "похожие статьи, новости, темы"?  →  Пожелания и предложения 0 / 2307 23.04.2018 17:29
Как массово удалить присланные новости?  →  Вопросы новичков 7 / 9371 06.06.2017 12:10
Новости в две колоны, в одной колоне одна категория  →  Вопросы новичков 5 / 4139 15.11.2016 11:38
Пропали новости  →  Ошибки, баги 12 / 9912 15.03.2016 05:31
Ограничение по ссылка для не зарегистрированых юзеров  →  Народное творчество 0 / 2210 29.02.2016 21:09
ссылка на профиль  →  Вопросы новичков 8 / 7854 21.04.2015 10:19
Вывод названия новости в файле темы  →  Вопросы новичков 4 / 3840 03.04.2015 19:01
списки в новости  →  Ошибки, баги 12 / 3043 13.05.2014 15:32
Как сделать так, чтобы было возможно загружать изображение к новости/статье по ссылке...  →  Моды 9 / 3632 03.01.2014 08:08
Топ 5 пользователей форума
Alex Alex (1,246)   Zaxap Zaxap (1,090)   Vova Vova (877)   Pisatel Pisatel (678)   util util (666)