Czytaj więcej dla zarejestrowanych
|
daveone |
Dodany dnia 15.06.2009 21:47:54
|
Przedszkolak
Postów: 63
Data rejestracji: 20.12.2008 21:50
|
Myślę ,że wielu z Was zainteresuje ta modyfikacja więc wrzucam również plik , dodatkowo umieściłem ikonkę . Mam jednak mały problem z tym co stworzyłem, wszystko działa fajnie tylko dla gości nie wyświetla się komunikat "aby przeczytać...musisz się zarejestrować" po kliknięciu a zamiast tego przekierowuje na stronę główną . Czy ktoś może naprowadzić mnie jak to poprawić ,w którym miejscu popełniłem błąd?
Linijki od 130 do 141:
<?php
/*-------------------------------------------------------+
| PHP-Fusion Content Management System
| Copyright (C) 2002 - 2008 Nick Jones
| http://www.php-fu...
+--------------------------------------------------------+
| Filename: news.php
| Author: Nick Jones (Digitanium)
+--------------------------------------------------------+
| This program is released as free software under the
| Affero GPL license. You can redistribute it and/or
| modify it under the terms of this license which you
| can read by viewing the included agpl.txt or online
| at www.gnu.org/licen... Removal of this
| copyright header is strictly prohibited without
| written permission from the original author(s).
+--------------------------------------------------------*/
require_once "maincore.php";
require_once THEMES."templates/header.php";
// Predefined variables, do not edit these values
if ($settings['news_style'] == "1") { $i = 0; $rc = 0; $ncount = 1; $ncolumn = 1; $news_[0] = ""; $news_[1] = ""; $news_[2] = ""; } else { $i = 1; }
// Number of news displayed
$items_per_page = $settings['newsperpage'];
add_to_title($locale['global_200'].$locale['global_077']);
if (!isset($_GET['readmore']) || !isnum($_GET['readmore'])) {
$rows = dbcount("(news_id)", DB_NEWS, groupaccess('news_visibility')." AND (news_start='0'||news_start<=".time().") AND (news_end='0'||news_end>=".time().") AND news_draft='0'");
if (!isset($_GET['rowstart']) || !isnum($_GET['rowstart'])) { $_GET['rowstart'] = 0; }
if ($rows) {
$result = dbquery(
"SELECT tn.*, tc.*, user_id, user_name FROM ".DB_NEWS." tn
LEFT JOIN ".DB_USERS." tu ON tn.news_name=tu.user_id
LEFT JOIN ".DB_NEWS_CATS." tc ON tn.news_cat=tc.news_cat_id
WHERE ".groupaccess('news_visibility')." AND (news_start='0'||news_start<=".time().") AND (news_end='0'||news_end>=".time().") AND news_draft='0'
ORDER BY news_sticky DESC, news_datestamp DESC LIMIT ".$_GET['rowstart'].",$items_per_page"
);
$numrows = dbrows($result);
if ($settings['news_style'] == "1") { $nrows = round((dbrows($result) - 1) / 2); }
while ($data = dbarray($result)) {
$news_cat_image = "";
$news_subject = "<a name='news_".$data['news_id']."' id='news_".$data['news_id']."'></a><a href='".FUSION_SELF."?readmore=".$data['news_id']."' class='capmain'>".stripslashes($data['news_subject'])."</a>";
if ($data['news_cat_image']) {
$news_cat_image = "<a href='news_cats.php?cat_id=".$data['news_cat_id']."'><img src='".get_image("nc_".$data['news_cat_name'])."' alt='".$data['news_cat_name']."' class='news-category' /></a>";
} else {
$news_cat_image = "";
}
$news_news = $data['news_breaks'] == "y" ? nl2br(stripslashes($data['news_news'])) : stripslashes($data['news_news']);
if ($news_cat_image != "") $news_news = $news_cat_image.$news_news;
$news_info = array(
"news_id" => $data['news_id'],
"user_id" => $data['user_id'],
"user_name" => $data['user_name'],
"news_date" => $data['news_datestamp'],
"news_ext" => $data['news_extended'] ? "y" : "n",
"news_reads" => $data['news_reads'],
"news_comments" => dbcount("(comment_id)", DB_COMMENTS, "comment_type='N' AND comment_item_id='".$data['news_id']."'"),
"news_allow_comments" => $data['news_allow_comments']
);
if ($settings['news_style'] == "1") {
if ($rows <= 2 || $ncount == 1) {
$news_[0] .= "<table width='100%' cellpadding='0' cellspacing='0'>\n";
$news_[0] .= "<tr>\n<td class='tbl2'><strong>".$news_subject."</strong></td>\n</tr>\n";
$news_[0] .= "<tr>\n<td class='tbl1' style='text-align:justify'>".$news_news."</td>\n</tr>\n";
$news_[0] .= "<tr>\n<td align='center' class='tbl2'>\n";
$news_[0] .= "<span class='small2'>".THEME_BULLET." <a href='profile.php?lookup=".$news_info['user_id']."'>".$news_info['user_name']."</a> ".$locale['global_071'].showdate("longdate", $news_info['news_date'])." ·\n";
if ($news_info['news_ext'] == "y" || $news_info['news_allow_comments']) {
$news_[0] .= $news_info['news_ext'] == "y" ? "<a href='".FUSION_SELF."?readmore=".$news_info['news_id']."'>".$locale['global_072']."</a> ·\n" : "";
$news_[0] .= $news_info['news_allow_comments'] ? "<a href='".FUSION_SELF."?readmore=".$news_info['news_id']."'>".$news_info['news_comments'].($news_info['news_comments'] == 1 ? $locale['global_073b'] : $locale['global_073'])."</a> ·\n" : "";
$news_[0] .= $news_info['news_reads'].$locale['global_074']." ·\n";
}
$news_[0] .= "<a href='print.php?type=N&item_id=".$news_info['news_id']."'><img src='".get_image("printer")."' alt='".$locale['global_075']."' style='vertical-align:middle;border:0;' /></a>";
if (checkrights("N")) { $news_[0] .= " · <a href='".ADMIN."news.php".$aidlink."&action=edit&news_id=".$news_info['news_id']."'><img src='".get_image("edit")."' alt='".$locale['global_076']."' title='".$locale['global_076']."' style='vertical-align:middle;border:0;' /></a></span>\n"; } else { $news_[0] .= "</span>\n"; }
$news_[0] .= "</td>\n</tr>\n</table>\n";
if ($ncount != $rows) { $news_[0] .= "<div><img src='".get_image("blank")."' alt='' width='1' height='8' /></div>\n"; }
} else {
if ($i == $nrows && $ncolumn != 2) { $ncolumn = 2; $i = 0; }
$row_color = ($rc % 2 == 0 ? "tbl2" : "tbl1");
$news_[$ncolumn] .= "<table width='100%' cellpadding='0' cellspacing='0'>\n";
$news_[$ncolumn] .= "<tr>\n<td class='tbl2'><strong>".$news_subject."</strong></td>\n</tr>\n";
$news_[$ncolumn] .= "<tr>\n<td class='tbl1' style='text-align:justify'>".$news_news."</td>\n</tr>\n";
$news_[$ncolumn] .= "<tr>\n<td align='center' class='tbl2'>\n";
$news_[$ncolumn] .= "<span class='small2'>".THEME_BULLET." <a href='profile.php?lookup=".$news_info['user_id']."'>".$news_info['user_name']."</a> ".$locale['global_071'].showdate("longdate", $news_info['news_date']);
if ($news_info['news_ext'] == "y" || $news_info['news_allow_comments']) {
$news_[$ncolumn] .= "<br />\n";
$news_[$ncolumn] .= $news_info['news_ext'] == "y" ? "<a href='".FUSION_SELF."?readmore=".$news_info['news_id']."'>".$locale['global_072']."</a> ·\n" : "";
$news_[$ncolumn] .= $news_info['news_allow_comments'] ? "<a href='".FUSION_SELF."?readmore=".$news_info['news_id']."#comments'>".$news_info['news_comments'].($news_info['news_comments'] == 1 ? $locale['global_073b'] : $locale['global_073'])."</a> ·\n" : "";
$news_[$ncolumn] .= $news_info['news_reads'].$locale['global_074']." ·\n";
} else {
$news_[$ncolumn] .= " ·\n";
}
$news_[$ncolumn] .= "<a href='print.php?type=N&item_id=".$news_info['news_id']."'><img src='".get_image("printer")."' alt='".$locale['global_075']."' style='vertical-align:middle;border:0;' /></a>\n";
if (checkrights("N")) { $news_[$ncolumn] .= " · <a href='".ADMIN."news.php".$aidlink."&action=edit&news_id=".$news_info['news_id']."'><img src='".get_image("edit")."' alt='".$locale['global_076']."' title='".$locale['global_076']."' style='vertical-align:middle;border:0;' /></a></span>\n"; } else { $news_[$ncolumn] .= "</span>\n"; }
$news_[$ncolumn] .= "</td>\n</tr>\n</table>\n";
if ($ncolumn == 1 && $i < ($nrows - 1)) { $news_[$ncolumn] .= "<div><img src='".get_image("blank")."' alt='' width='1' height='8' /></div>\n"; }
if ($ncolumn == 2 && $i < (dbrows($result) - $nrows - 2)) { $news_[$ncolumn] .= "<div><img src='".get_image("blank")."' alt='' width='1' height='8' /></div>\n"; }
$i++; $rc++;
}
$ncount++;
} else {
echo "<!--news_prepost_".$i."-->\n";
$i++;
render_news($news_subject, $news_news, $news_info);
}
}
if ($settings['news_style'] == "1") {
opentable($locale['global_077']);
echo "<table cellpadding='0' cellspacing='0' style='width:100%'>\n<tr>\n<td colspan='3' style='width:100%'>\n";
echo $news_[0];
echo "</td>\n</tr>\n<tr>\n<td style='width:50%;vertical-align:top;'>\n";
echo $news_[1];
echo "</td>\n<td style='width:10px'><img src='".get_image("blank")."' alt='' width='10' height='1' /></td>\n<td style='width:50%;vertical-align:top;'>\n";
echo $news_[2];
echo "</td>\n</tr>\n</table>\n";
closetable();
}
if ($rows > $items_per_page) echo "<div align='center' style=';margin-top:5px;'>\n".makepagenav($_GET['rowstart'],$items_per_page,$rows,3)."\n</div>\n";
} else {
opentable($locale['global_077']);
echo "<div style='text-align:center'><br />\n".$locale['global_078']."<br /><br />\n</div>\n";
closetable();
}
} else {
if (iMEMBER) {
include INCLUDES."comments_include.php";
include INCLUDES."ratings_include.php";
$result = dbquery(
"SELECT tn.*, user_id, user_name FROM ".DB_NEWS." tn
LEFT JOIN ".DB_USERS." tu ON tn.news_name=tu.user_id
WHERE news_id='".$_GET['readmore']."' AND news_draft='0'"
);
opentable();
echo "<img src='http://img200.imageshack.us/img200/9444/x1icon80.png'>Dostep tylko dla zarejestrowanych";
closetable();
}
if (dbrows($result)!=0) {
$data = dbarray($result);
if (checkgroup($data['news_visibility'])) {
$news_cat_image = "";
if (!isset($_POST['post_comment']) && !isset($_POST['post_rating'])) {
$result2 = dbquery("UPDATE ".DB_NEWS." SET news_reads=news_reads+1 WHERE news_id='".$_GET['readmore']."'");
$data['news_reads']++;
}
$news_subject = $data['news_subject'];
if ($data['news_cat']) {
$result2 = dbquery("SELECT * FROM ".DB_NEWS_CATS." WHERE news_cat_id='".$data['news_cat']."'");
if (dbrows($result2)) {
$data2 = dbarray($result2);
$news_cat_image = "<a href='news_cats.php?cat_id=".$data2['news_cat_id']."'><img src='".get_image("nc_".$data2['news_cat_name'])."' alt='".$data2['news_cat_name']."' class='news-category' /></a>";
}
}
$news_news = stripslashes($data['news_extended'] ? $data['news_extended'] : $data['news_news']);
if ($data['news_breaks'] == "y") { $news_news = nl2br($news_news); }
if ($news_cat_image != "") $news_news = $news_cat_image.$news_news;
$news_info = array(
"news_id" => $data['news_id'],
"user_id" => $data['user_id'],
"user_name" => $data['user_name'],
"news_date" => $data['news_datestamp'],
"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']."'"),
"news_allow_comments" => $data['news_allow_comments']
);
add_to_title($locale['global_201'].$news_subject);
echo "<!--news_pre_readmore-->";
render_news($news_subject, $news_news, $news_info);
echo "<!--news_sub_readmore-->";
if ($data['news_allow_comments']) { showcomments("N", DB_NEWS, "news_id", $_GET['readmore'], FUSION_SELF."?readmore=".$_GET['readmore']); }
if ($data['news_allow_ratings']) { showratings("N", $_GET['readmore'], FUSION_SELF."?readmore=".$_GET['readmore']); }
} else {
redirect(FUSION_SELF);
}
} else {
redirect(FUSION_SELF);
}
}
require_once THEMES."templates/footer.php";
?> Kliknij i zaczekaj na załadowanie kodu ...
Edytowane przez Pieka dnia 15.06.2009 22:08:18
|
|
|
|
Wścibski Gość |
Dodany dnia 24.11.2024 20:41:35
|
Pan Kontekstualny
Postów: n^x
Data rejestracji: Zawsze
|
|
IP: localhost |
|
|
Chemikpil |
Dodany dnia 15.06.2009 22:23:10
|
Bywalec
Postów: 999 Pomógł: 54
Data rejestracji: 04.05.2008 21:46
|
Na pierwszy rzut oka problem leży w funkcji if, a bardziej w braku zastosowania else. Z tego co widzę to dałeś w if warunek imember i w jego instrukcjach jest wyświetlanie obrazka i napisu z prośbą o rejestrację. Daj po tej funkcji else i tam dodaj ten tekst.
P.S. Nie dawaj obrazków na innych serwerach. Daj je na swoim i odwołanie do niego, bo jak na serwerze tym zdjęcie padnie, to wielu userów którzy mają twój mod nie będzie miała tego obrazka.
Edytowane przez Pieka dnia 16.06.2009 15:31:12
|
|
|
|
Spaik |
Dodany dnia 16.06.2009 14:25:40
|
Bywalec
Postów: 310 Pomógł: 8
v9.03.80 Data rejestracji: 15.04.2007 12:34
|
Ciekawe! Nawet bardzo! Gdy będzie wszystko w porządku prośiłbym o wstawienie tej modyfikacji tutaj. Będę ten temat obserwował! Pozdrawiam |
|
|
|
daveone |
Dodany dnia 16.06.2009 14:46:35
|
Przedszkolak
Postów: 63
Data rejestracji: 20.12.2008 21:50
|
Dzięki Spaik ! Jeżeli tylko uda nam się uporać to na pewno ja albo chemix wrzucimy gotową modyfikacje .
Edytowane przez Chemikpil dnia 16.06.2009 18:06:14
|
|
|
|
Chemikpil |
Dodany dnia 18.06.2009 11:43:19
|
Bywalec
Postów: 999 Pomógł: 54
Data rejestracji: 04.05.2008 21:46
|
Dodaje poprawioną paczkę. Teraz nikt nie zalogowany nie będzie mógł czytać rozszerzonej treści newsa. Plik zawiera dwa dokumenty php, które wrzucamy do głównego katalogu. W katalogu images znajduje się ikonka, którą umieszczamy w katalogu images.
W razie błędów pisać tu.
Chemikpil dodał/a następującą plik:
Edytowane przez Chemikpil dnia 18.06.2009 11:43:36
|
|
|
|
khaman |
Dodany dnia 02.07.2009 14:55:32
|
Postów: 2507 Pomógł: 78
Data rejestracji: 26.06.2007 12:11
|
Fajna rzecz, gdyby do tego wykombinować jeszcze warunek, że dotyczy tylko jednej kategorii news?
Posty pomocne oznaczaj jako pomógł Nie pomagam na PW/GG | Brak stopki = brak pomocy
|
|
|
|
Spaik |
Dodany dnia 03.07.2009 11:22:30
|
Bywalec
Postów: 310 Pomógł: 8
v9.03.80 Data rejestracji: 15.04.2007 12:34
|
Swietny pomysł Khaman ! Własnie to byłoby najlepsze rozwiązanie. Np. zeby wybrac czy news dalsza czesc newsa ma byc tylko dla zarejestrowanych czy nie tylko dla wybranych kategorii newsow. Jestem ciekaw czy ktos moglby to zrobic. |
|
|
|
Chemikpil |
Dodany dnia 03.07.2009 11:39:08
|
Bywalec
Postów: 999 Pomógł: 54
Data rejestracji: 04.05.2008 21:46
|
khaman napisał/a:
Fajna rzecz, gdyby do tego wykombinować jeszcze warunek, że dotyczy tylko jednej kategorii news?
Zrobić jak najbardziej idzie, tylko teraz czy ty chcesz by to w pliku był na sztywno warunek czy jak?
|
|
|
|
khaman |
Dodany dnia 03.07.2009 11:45:28
|
Postów: 2507 Pomógł: 78
Data rejestracji: 26.06.2007 12:11
|
Hmm chyba tak najprościej wstawiasz sobie na sztywno po id kategorii w pliku.
Posty pomocne oznaczaj jako pomógł Nie pomagam na PW/GG | Brak stopki = brak pomocy
|
|
|
|
Chemikpil |
Dodany dnia 07.07.2009 16:19:02
|
Bywalec
Postów: 999 Pomógł: 54
Data rejestracji: 04.05.2008 21:46
|
Tak więc twoja modyfikacja khaman będzie wymagać ingerencji w plik theme.php wiec takowy sobie już przygotuj.
Odnajdujemy:
function render_news($subject, $news, $info) {
i pod nią zaraz dodajemy
global $data
Teraz czas na warunek. Potrzebna będzie ta linijka:
echo newsposter($info," ·").newsopts($info,"·").itemoptions("N",$info['news_id']);
i zamieniamy na taką:
echo newsposter($info," ·");
if(!iMEMBER && $data['news_cat_id']==13)
echo "Tylko dla zalogowanych";
else
echo newsopts($info,"·");
echo itemoptions("N",$info['news_id']);
Oczywiście musisz działać na czystym news.php (tj. bez wcześniejszej mojej modyfikacji). Sposób po najprostszej linii oporu, jest jednak światełko w tunelu i być może wezmę się za zmodyfikowanie pliku news.php tak by przy dodawaniu już newsa można było wybrać czy ma być dla wszystkich czy dla zalogowanych.
Pozdrawiam :)
Edytowane przez Chemikpil dnia 07.07.2009 16:18:50
|
|
|
|
khaman |
Dodany dnia 08.07.2009 10:04:31
|
Postów: 2507 Pomógł: 78
Data rejestracji: 26.06.2007 12:11
|
Po wpisaniu ręcznie lub przez kategorie i tak widać newsa i dodatkowo ten błąd:
Notice: Undefined index: news_cat_id in /home/web135/domains/khaman.pl/public_html/beta/themes/Phos/theme.php on line 111
http://beta.khama...readmore=2
Posty pomocne oznaczaj jako pomógł Nie pomagam na PW/GG | Brak stopki = brak pomocy
|
|
|
|
Chemikpil |
Dodany dnia 08.07.2009 12:12:20
|
Bywalec
Postów: 999 Pomógł: 54
Data rejestracji: 04.05.2008 21:46
|
Ok to jeszcze innym sposobem, tym razem skutecznym (sprawdzałem u siebie),
W pliku news.php odnajdź linie ~135. Powinno być coś takiego.
if (dbrows($result)!=0) {
$data = dbarray($result);
Wklej zaraz po tym ten kod:
if (!iMEMBER && $data['news_cat']==13)
redirect ('alert.php');
Całość zmodyfikowane dodaje w paczce.
Chemikpil dodał/a następującą plik:
Edytowane przez Chemikpil dnia 08.07.2009 12:12:37
|
|
|
|
khaman |
Dodany dnia 08.07.2009 12:42:27
|
Postów: 2507 Pomógł: 78
Data rejestracji: 26.06.2007 12:11
|
Gra i buczy
Posty pomocne oznaczaj jako pomógł Nie pomagam na PW/GG | Brak stopki = brak pomocy
|
|
|
|
bartipl |
Dodany dnia 04.09.2009 15:21:15
|
Przedszkolak
Postów: 7
Data rejestracji: 23.08.2009 01:07
|
Witam.
Mam jedno pytanie odnośnie modyfikacji, to znaczy jak wyrzucić podlinkowanie z tytułu newsa? Chodzi mi o to aby link do pełnej wersji newsa był tylko w czytaj więcej jak w oryginale.
Edytowane przez Pieka dnia 04.09.2009 15:27:34
|
|
|
|
Pieka |
Dodany dnia 04.09.2009 15:36:28
|
Postów: 19882 Pomógł: 767
v7.02.03 Data rejestracji: 23.02.2005 18:12
|
Edytuj plik news.php, znajdz (linia ~44):
$news_subject = "<a name='news_".$data['news_id']."' id='news_".$data['news_id']."'></a><a href='".FUSION_SELF."?readmore=".$data['news_id']."' class='capmain'>".stripslashes($data['news_subject'])."</a>";
i zamien na:
$news_subject = "<a name='news_".$data['news_id']."' id='news_".$data['news_id']."'></a>".stripslashes($data['news_subject']);
Jestem jaki jestem
|
|
|
|
bartipl |
Dodany dnia 12.09.2009 01:08:10
|
Przedszkolak
Postów: 7
Data rejestracji: 23.08.2009 01:07
|
Witam.
Mam jeszcze jedno pytanie odnośnie tej modyfikacji a mianowicie jak wygląda sytuacja z indeksowaniem przez google części rozszerzonej. Jest to bez problemu indeksowane czy trzeba wprowadzić jakieś modyfikacje aby wszystkie rozszerzone newsy były indeksowane ?.
Edytowane przez bartipl dnia 12.09.2009 01:09:51
|
|
|
|
rafalgt |
Dodany dnia 18.01.2010 08:18:10
|
Przedszkolak
Postów: 67 Ostrzeżeń: 3
v7.02.05 Data rejestracji: 30.10.2009 16:03
|
Witam. W jaki sposób wybrać kategorie która ma być widoczna tylko dla zarejestrowanych użytkowników? |
|
|
|
khaman |
Dodany dnia 18.01.2010 09:08:57
|
Postów: 2507 Pomógł: 78
Data rejestracji: 26.06.2007 12:11
|
W kodzie:
if (!iMEMBER && $data['news_cat']==13)
Zmieniasz 13 na kategorię, której to dotyczy.
Posty pomocne oznaczaj jako pomógł Nie pomagam na PW/GG | Brak stopki = brak pomocy
|
|
|
|
rafalgt |
Dodany dnia 18.01.2010 12:15:44
|
Przedszkolak
Postów: 67 Ostrzeżeń: 3
v7.02.05 Data rejestracji: 30.10.2009 16:03
|
Wielkie dzięki
Jeszcze jedno pytanko.
Chcę przydzielić newsa do kategorii ale żeby nie było obrazka. Czy trzeba zmieniać kod czy można usunąć obrazek wybranej kategorii?
Edytowane przez rafalgt dnia 18.01.2010 12:29:47
|
|
|
|
poki289 |
Dodany dnia 18.01.2010 13:39:50
|
Początkujący
Postów: 240 Pomógł: 33 Ostrzeżeń: 1
v7.02.07 Data rejestracji: 26.12.2009 05:49
|
rafalgt napisał/a:
Wielkie dzięki
Jeszcze jedno pytanko.
Chcę przydzielić newsa do kategorii ale żeby nie było obrazka. Czy trzeba zmieniać kod czy można usunąć obrazek wybranej kategorii?
Można to zrobić z poziomu PA, proponuję przeczytać dokumentację.
|
|
|