Przedszkolak
Postów: 7
Data rejestracji: 26.06.2009 19:34
|
Witam. Poszukuję pomocy w edycji poniższego kodu. Panel ten służy do wyświetlania wielu informacji o artach(m.in. streszczenia arta itd.). Chciałbym, żeby panel wyświetlał gościom informacje o artykułach nie tylko otwartych dla wszystkich, ale również arty widoczne dla osób zarejestrowanych, ale zamiast odsyłać na stronę z artem gość byłby odsyłany na stronę główną. Wydaje mi się, że napisałem zrozumiale i mało chaotycznie, lecz jeśli czegoś nie rozumiecie to piszcie, postaram się wytłumaczyć dokładniej o co mi chodzi. :) Pozdrawiam.
Kod panelu:
<?php
if (!defined("IN_FUSION")) { die("Access Denied"); }
echo "<script src='".INFUSIONS."recent_articles_panel/boxover.js' type='text/javascript'></script>\n";
include INFUSIONS."recent_articles_panel/locale/English.php";
$result = dbquery(
"SELECT tu.user_id, tu.user_name, ta.article_snippet, ta.article_article, ta.article_datestamp, ta.article_id, ta.article_name, ta.article_reads, ta.article_subject, tac.article_cat_name, tac.article_cat_id, tac.article_cat_access FROM ".DB_ARTICLES." ta
INNER JOIN ".DB_ARTICLE_CATS." tac ON ta.article_cat=tac.article_cat_id INNER JOIN ".DB_USERS." tu ON ta.article_name=tu.user_id
".(iSUPERADMIN ? "" : "WHERE ".groupaccess('article_cat_access'))." AND article_draft='0' ORDER BY article_id DESC LIMIT 0,5"
);
if (dbrows($result)) {
echo "<table cellpadding='0' cellspacing='1' width='100%' class='tbl-border'>\n<tr>\n";
echo "<td class='tbl2' width='3%'> </td>\n";
echo "<td width='40%' class='tbl2'><strong>".$locale['global_030b']."</strong></td>\n";
echo "<td width='5%' class='tbl2' style='text-align:center;white-space:nowrap'><strong>".$locale['global_030d']."</strong></td>\n";
echo "<td width='5%' class='tbl2' style='text-align:center;white-space:nowrap'><strong>".$locale['global_030c']."</strong></td>\n";
echo "<td width='5%' class='tbl2' style='text-align:center;white-space:nowrap'><strong>".$locale['global_030cc']."</strong></td>\n";
echo "</tr>\n";
while($data = dbarray($result)) {
if ($data['article_datestamp'] + 604800 > time() + ($settings['timeoffset'] * 3600)) {
$new = " <span class='small' style='color:red;'>".$locale['global_030e']."</span>";
} else {
$new = "";
}
$row_color = ($i % 2 == 0 ? "tbl1" : "tbl2");
echo "<tr>\n<td class='".$row_color."' style='white-space:nowrap' align='center'>";
echo "»</td><td width='40%' class='".$row_color."'>";
$itemsubject = trimlink($data['article_subject'], 80);
$newtitle = trimlink($data['article_subject'], 35);
$bad_entities = array("<br />", "<br>", "\"", "'", '\"', "\'", "<", ">", "(", ")", "*");
$safe_entities = array("", "", "", "", "", "", "", "", "", "", "");
// will catch the article body if description is empty
//$articleb = substr($data['article_article'], 0, 500)."...";
//$articleb = str_replace($bad_entities, $safe_entities, $articleb);
$articles = substr($data['article_snippet'], 0, 400)."...";
$articles = str_replace($bad_entities, $safe_entities, $articles);
if ($data['article_snippet'] != "") { $newbody = "".$articles.""; }
//else { $newbody = "".$articleb.""; }
else { $newbody = "no sinppet available";}
echo "<a href='".BASEDIR."articles.php?article_id=".$data['article_id']."' class='side' title='header=[$newtitle] body=[$newbody]'>$itemsubject</a>".$new."<br />\n";
echo "<span style='font-size:10px;'>by: <a href='".BASEDIR."profile.php?lookup=".$data['user_id']."'>".$data['user_name']."</a> on ".showdate("shortdate", $data['article_datestamp'])."</span>\n";
echo "</td>\n";
echo "<td width='3%' class='".$row_color."' style='text-align:center;white-space:nowrap'><a href='articles.php?cat_id=".$data['article_cat_id']."'>".$data['article_cat_name']."</a></td>\n";
echo "<td width='1%' class='".$row_color."' style='text-align:center;white-space:nowrap'>".$data['article_reads']."</td>\n";
$num = dbcount("(comment_id)", DB_COMMENTS, "comment_type='A' AND comment_item_id='".$data['article_id']."'");
$results = dbquery("SELECT * FROM ".DB_COMMENTS." WHERE comment_type='A' AND comment_item_id='".$data['article_id']."' ORDER BY comment_id DESC LIMIT 1");
if (dbrows($results) != 0) {
while ($cdata = dbarray($results)) {
$comments = substr($cdata['comment_message'], 0, 200);
//wadday
echo "<td width='1%' class='".$row_color."' style='text-align:center;white-space:nowrap' title='header=[Commented by: ".$data['user_name']."] body=[".$comments."]'>".$num."</td>\n";
}
}
else { echo "<td width='1%' class='".$row_color."' style='text-align:center;white-space:nowrap'>0</td>"; }
echo "</tr>\n";
}
echo "</table>\n";
echo "<a href='http://www.wadday.com/blog' ";
echo "title='header=[by: wadday] body=[Credit: Abdullah Waheed · http://www.wadday... · ] delay=[0] fade=[on]' >©</a>";
}
else {
echo "<div style='text-align:center'>".$locale['global_031']."</div>\n";
}
?> Kliknij i zaczekaj na załadowanie kodu ...
Przy okazji mam jeszcze jeden problem. W wyciętym fragmencie poniżej jest kod panelu najnowsze tematy. Wszystko działa w panelu oprócz daty. Jest wyświetlana zawsze data 01/01/1970. Już nie mam pomysłu co może być, źle. Kod przerabiałem dziesiątki razy na różne sposoby, ale tutaj pojawia się mój elementarny brak wiedzy o php. Wcześniej wszystko robiłem analogicznie opierając się na różnych dostępnych mi tutorialach itp. rzeczach, ale teraz potrzebuje waszej pomocy. :)
Kod:
$limit = 10;
$result = dbquery("SELECT thread_id, thread_subject, thread_lastpost FROM fusion_threads ORDER BY thread_id DESC LIMIT $limit");
while ($row = mysql_fetch_array($result))
{
echo "<table cellpadding=\"0\" cellspacing=\"0\" width=\"100%\"><tr><td aling=\"left\">\n";
echo '<img src="'.THEME.'images/bullet.gif" alt="cms"> <a href=\''.BASEDIR.'forum/viewthread.php?thread_id=';
echo($row['thread_id']);
echo "' title=\'\n";
echo($row['thread_subject']);
echo '\'>';
echo(substr($row['thread_subject'],0,20));
echo "</a>\n";
$wynik = dbquery("SELECT notify_datestamp FROM fusion_thread_notify GROUP BY notify_datestamp ORDER BY notify_datestamp LIMIT 0,30");
$data = dbarray($wynik);
echo "</td><td align=\"right\">".showdate("shortdate",$data['notify_datestamp'])."</td></tr></table>\n";
}
Kliknij i zaczekaj na załadowanie kodu ...
PW od moderatora:
- Przeniesienie tematu - Pieka 11.07 - 21:15
Edytowane przez stachi dnia 13.07.2009 17:57:14
|