Wyświetlanie w profilu ilości i linków dodanych komentarzy i artykułów
|
08radek |
Dodany dnia 17.08.2008 22:42:17
|
Przedszkolak
Postów: 14 Ostrzeżeń: 1
Data rejestracji: 31.10.2007 22:51
|
Witam zainstalowałem nową wersje PHP-Fusion Core 7, problem polega na tym, ze nie wiem jak zmodyfikować profile.php, żeby każdy użytkownik widział dodane swoje artykuły i komentarze w
profilu, aby obserwował artykuły i dodane swoje komentarze w profilu użytkownika.
Liczę na waszą pomoc.
Edytowane przez szymon dnia 23.08.2008 14:39:56
|
|
|
|
Wścibski Gość |
Dodany dnia 24.11.2024 20:43:58
|
Pan Kontekstualny
Postów: n^x
Data rejestracji: Zawsze
|
|
IP: localhost |
|
|
Pieka |
Dodany dnia 17.08.2008 22:53:10
|
Postów: 19882 Pomógł: 767
v7.02.03 Data rejestracji: 23.02.2005 18:12
|
Wejdz do PA i wlacz im to w profilu. Zakladka Pola profilu prawde Ci powie.
Edytowane przez Pieka dnia 17.08.2008 23:25:19
Jestem jaki jestem
|
|
|
|
08radek |
Dodany dnia 17.08.2008 23:20:05
|
Przedszkolak
Postów: 14 Ostrzeżeń: 1
Data rejestracji: 31.10.2007 22:51
|
@Pieka Tylko nie ma tam nic co mnie pocieszy dlatego, że ja potrzebuje znacznie więcej ,profil użytkownika ma wyświetlać dodawane przez użytkownika artykuły i komentarze.
Tzn. ilość i nazwy dodanych komentarzy aby przejść bezpośrednio z profilu do artykułu.
Plis pomocy, dziękuje za odpowiedz.
Edytowane przez szymon dnia 23.08.2008 14:40:51
|
|
|
|
kefirek |
Dodany dnia 18.08.2008 11:01:37
|
Zaawansowany
Postów: 1191 Pomógł: 418 Ostrzeżeń: 1
v6.00.xxx Data rejestracji: 06.04.2008 21:59
|
Jak tak bardzo chcesz to proszę bardzo chyba o takie coś chodziło w pliku profile.php dodaj to co na czerwono
<?php
/*-------------------------------------------------------+
| PHP-Fusion Content Management System
| Copyright (C) 2002 - 2008 Nick Jones
| http://www.php-fusion.co.uk/
+--------------------------------------------------------+
| Filename: profile.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 http://www.gnu.org/licenses/agpl.html. 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";
include LOCALE.LOCALESET."view_profile.php";
include LOCALE.LOCALESET."user_fields.php";
if (!isset($_GET['group_id']) || !isnum($_GET['group_id'])) {
if (!isset($_GET['lookup']) || !isnum($_GET['lookup'])) { redirect("index.php"); }
$result = dbquery("SELECT * FROM ".DB_USERS." WHERE user_id='".$_GET['lookup']."'");
if (dbrows($result)) { $user_data = dbarray($result); } else { redirect("index.php"); }
if ($user_data['user_status'] > "0") { redirect("index.php"); }
if (iADMIN && checkrights("UG") && $user_data['user_id'] != $userdata['user_id']) {
if ((isset($_POST['add_to_group'])) && (isset($_POST['user_group']) && isnum($_POST['user_group']))) {
if (!preg_match("(^\.{$_POST['user_group']}$|\.{$_POST['user_group']}\.|\.{$_POST['user_group']}$)", $user_data['user_groups'])) {
$result = dbquery("UPDATE ".DB_USERS." SET user_groups='".$user_data['user_groups'].".".$_POST['user_group']."' WHERE user_id='".$user_data['user_id']."'");
}
redirect(FUSION_SELF."?lookup=".$user_data['user_id']);
}
}
add_to_title($locale['global_200'].$locale['400'].$locale['global_201'].$user_data['user_name']);
opentable($locale['400']);
echo "<table cellpadding='0' cellspacing='1' width='400' class='tbl-border center'>\n<tr>\n";
if ($user_data['user_avatar'] && file_exists(IMAGES."avatars/".$user_data['user_avatar'])) {
echo "<td rowspan='5' width='1%' class='tbl profile_user_avatar'><!--profile_user_avatar--><img src='".IMAGES."avatars/".$user_data['user_avatar']."' alt='' /></td>\n";
}
echo "<td width='1%' class='tbl1' style='white-space:nowrap'>".$locale['u001']."</td>\n";
echo "<td align='right' class='tbl1 profile_user_name'><!--profile_user_name-->".$user_data['user_name']."</td>\n";
echo "</tr>\n<tr>\n";
echo "<td width='1%' class='tbl1' style='white-space:nowrap'></td>\n";
echo "<td align='right' class='tbl1 profile_user_level'><!--profile_user_level-->".getuserlevel($user_data['user_level'])."</td>\n";
echo "</tr>\n";
if ($user_data['user_hide_email'] != "1" || iADMIN) {
echo "<tr>\n";
echo "<td width='1%' class='tbl1' style='white-space:nowrap'>".$locale['u005']."</td>\n";
echo "<td align='right' class='tbl1'>".hide_email($user_data['user_email'])."</td>\n";
echo "</tr>\n";
}
echo "<tr>\n";
echo "<td width='1%' class='tbl1' style='white-space:nowrap'>".$locale['u040']."</td>\n";
echo "<td align='right' class='tbl1'>".showdate("longdate", $user_data['user_joined'])."</td>\n";
echo "</tr>\n<tr>\n";
echo "<td width='1%' class='tbl1' style='white-space:nowrap'>".$locale['u041']."</td>\n";
echo "<td align='right' class='tbl1'>".($user_data['user_lastvisit'] ? showdate("longdate", $user_data['user_lastvisit']) : $locale['u042'])."</td>\n";
echo "</tr>";
[color=red][b] $ile = dbquery("SELECT count(comment_id) FROM ".DB_COMMENTS." WHERE comment_name='".$user_data['user_id']."'");
echo "<tr>";
echo "<td width='1%' class='tbl1' style='white-space:nowrap'>Komentarzy:</td>\n";
echo "<td align='right' class='tbl1'>Ilość: ".number_format(dbresult($ile, 0))."</td>\n";
echo "</tr>";
$result1 = dbquery("SELECT * FROM ".DB_COMMENTS." WHERE comment_name='".$user_data['user_id']."' ORDER BY comment_datestamp LIMIT 4");
if(dbrows($result1) > 0) {
while($r1 = dbarray($result1))
{
echo "<tr>";
echo "<td colspan='2' align='left' class='tbl1' style='white-space:nowrap'>".THEME_BULLET." ".substr(nl2br($r1['comment_message']), 0, 30)."</td>";
echo "</tr>";
}
} else {
echo "<tr>";
echo "<td colspan='2' align='center' class='tbl1' style='white-space:nowrap'>Użytkownik nie dodał komentarzy</td>";
echo "</tr>";
}
$ile1 = dbquery("SELECT count(article_id) FROM ".DB_ARTICLES." WHERE article_name='".$user_data['user_id']."'");
echo "<tr>";
echo "<td width='1%' class='tbl1' style='white-space:nowrap'>Artykuły:</td>\n";
echo "<td align='right' class='tbl1'>Ilość: ".number_format(dbresult($ile1, 0))."</td>\n";
echo "</tr>";
$result = dbquery("SELECT * FROM ".DB_ARTICLES." WHERE article_name='".$user_data['user_id']."' ORDER BY article_datestamp LIMIT 4");
if(dbrows($result) > 0) {
while($r = dbarray($result))
{
echo "<tr>";
echo "<td colspan='2' align='left' class='tbl1' style='white-space:nowrap'>".THEME_BULLET." <a href='".BASEDIR."articles.php?article_id=".$r['article_id']."'>".$r['article_subject']."</a></td>";
echo "</tr>";
}
} else {
echo "<tr>";
echo "<td colspan='2' align='center' class='tbl1' style='white-space:nowrap'>Użytkownik nie dodał artykułów</td>";
echo "</tr>";
}[/b][/color]
if (iMEMBER && $userdata['user_id'] != $user_data['user_id']) {
echo "<td colspan='".($user_data['user_avatar'] && file_exists(IMAGES."avatars/".$user_data['user_avatar']) ? "3" : "2")."' class='tbl2' style='text-align:center;white-space:nowrap'><a href='messages.php?msg_send=".$user_data['user_id']."' title='".$locale['u043']."'>".$locale['u043']."</a></td>\n";
echo "</tr>\n";
}
echo "</table>\n";
echo "<div style='margin:5px'></div>\n";
$profile_method = "display"; $i = 0; $user_fields_output = array("", "", "", ""); $ob_active = false;
$result2 = dbquery("SELECT * FROM ".DB_USER_FIELDS." ORDER BY field_group, field_order");
if (dbrows($result2)) {
while($data2 = dbarray($result2)) {
if ($i != $data2['field_group']) {
if ($ob_active) {
$user_fields_output[$i] = ob_get_contents();
ob_end_clean();
$ob_active = false;
}
$i = $data2['field_group'];
}
if (!$ob_active) {
ob_start();
$ob_active = true;
}
if (file_exists(LOCALE.LOCALESET."user_fields/".$data2['field_name'].".php")) {
include LOCALE.LOCALESET."user_fields/".$data2['field_name'].".php";
}
if (file_exists(INCLUDES."user_fields/".$data2['field_name']."_include.php")) {
include INCLUDES."user_fields/".$data2['field_name']."_include.php";
}
}
}
if ($ob_active) {
$user_fields_output[$i] = ob_get_contents();
ob_end_clean();
}
if (array_key_exists(1, $user_fields_output) && $user_fields_output[1]) {
echo "<div style='margin:5px'></div>\n";
echo "<table cellpadding='0' cellspacing='1' width='400' class='tbl-border center'>\n<tr>\n";
echo "<td colspan='2' class='tbl2'><strong>".$locale['u044']."</strong></td>\n";
echo "</tr>\n".$user_fields_output[1];
echo "</table>\n";
}
if (array_key_exists(2, $user_fields_output) && $user_fields_output[2]) {
echo "<div style='margin:5px'></div>\n";
echo "<table cellpadding='0' cellspacing='1' width='400' class='tbl-border center'>\n<tr>\n";
echo "<td colspan='2' class='tbl2'><strong>".$locale['u045']."</strong></td>\n";
echo "</tr>\n".$user_fields_output[2];
echo "</table>\n";
}
if (array_key_exists(4, $user_fields_output) && $user_fields_output[4]) {
echo "<div style='margin:5px'></div>\n";
echo "<table cellpadding='0' cellspacing='1' width='400' class='tbl-border center'>\n<tr>\n";
echo "<td colspan='2' class='tbl2'><strong>".$locale['u047']."</strong></td>\n";
echo "</tr>\n".$user_fields_output[4];
echo "</table>\n";
}
if (iADMIN && checkrights("M")) {
echo "<div style='margin:5px'></div>\n";
echo "<table cellpadding='0' cellspacing='1' width='400' class='tbl-border center'>\n<tr>\n";
echo "<td colspan='2' class='tbl2'><strong>".$locale['u048']."</strong></td>\n";
echo "</tr>\n<tr>\n";
echo "<td width='1%' class='tbl1' style='white-space:nowrap'>".$locale['u049']."</td>\n";
echo "<td align='right' class='tbl1'>".$user_data['user_ip']."</td>\n";
echo "</tr>\n</table>\n";
}
if ($user_data['user_groups']) {
echo "<div style='margin:5px'></div>\n";
echo "<table cellpadding='0' cellspacing='1' width='400' class='center tbl-border'>\n<tr>\n";
echo "<td class='tbl2'><strong>".$locale['401']."</strong></td>\n";
echo "</tr>\n<tr>\n";
echo "<td class='tbl1'>\n";
$user_groups = (strpos($user_data['user_groups'], ".") == 0 ? explode(".", substr($user_data['user_groups'], 1)) : explode(".", $user_data['user_groups']));
for ($i = 0; $i < count($user_groups); $i++) {
echo "<div style='float:left'><a href='".FUSION_SELF."?group_id=".$user_groups[$i]."'>".getgroupname($user_groups[$i])."</a></div><div style='float:right'>".getgroupname($user_groups[$i], true)."</div><div style='float:none;clear:both'></div>\n";
}
echo "</td>\n</tr>\n</table>\n";
}
if (iADMIN && checkrights("M") && $user_data['user_id'] != $userdata['user_id']) {
$user_groups_opts = "";
if ($user_data['user_level'] < 102) {
echo "<div style='margin:5px'></div>\n";
echo "<form name='admin_form' method='post' action='".FUSION_SELF."?lookup=".$user_data['user_id']."'>\n";
echo "<table cellpadding='0' cellspacing='0' width='400' class='center tbl-border'>\n<tr>\n";
echo "<td class='tbl2' colspan='2'><strong>".$locale['402']."</strong></td>\n";
echo "</tr>\n<tr>\n";
echo "<td class='tbl1'><!--profile_admin_options-->\n";
echo "<a href='".ADMIN."members.php".$aidlink."&step=edit&user_id=".$user_data['user_id']."'>".$locale['410']."</a> ::\n";
echo "<a href='".ADMIN."members.php".$aidlink."&step=ban&act=on&user_id=".$user_data['user_id']."&status=1' onclick=\"return confirm('".$locale['413']."');\">".$locale['411']."</a> ::\n";
echo "<a href='".ADMIN."members.php".$aidlink."&step=delete&status=0&user_id=".$user_data['user_id']."' onclick=\"return confirm('".$locale['414']."');\">".$locale['412']."</a></td>\n";
$result = dbquery("SELECT * FROM ".DB_USER_GROUPS." ORDER BY group_id ASC");
if (dbrows($result)) {
while ($data2 = dbarray($result)) {
if (!preg_match("(^\.{$data2['group_id']}|\.{$data2['group_id']}\.|\.{$data2['group_id']}$)", $user_data['user_groups'])) {
$user_groups_opts .= "<option value='".$data2['group_id']."'>".$data2['group_name']."</option>\n";
}
}
if (iADMIN && checkrights("UG") && $user_groups_opts) {
echo "<td align='right' class='tbl1'>".$locale['415']."\n";
echo "<select name='user_group' class='textbox' style='width:100px'>\n".$user_groups_opts."</select>\n";
echo "<input type='submit' name='add_to_group' value='".$locale['416']."' class='button' onclick=\"return confirm('".$locale['417']."');\" /></td>\n";
}
}
echo "</tr>\n</table>\n</form>\n";
}
}
} else {
$result = dbquery("SELECT * FROM ".DB_USER_GROUPS." WHERE group_id='".$_GET['group_id']."'");
if (dbrows($result)) {
$data = dbarray($result);
$result = dbquery("SELECT * FROM ".DB_USERS." WHERE user_groups REGEXP('^\\\.{$_GET['group_id']}$|\\\.{$_GET['group_id']}\\\.|\\\.{$_GET['group_id']}$') ORDER BY user_level DESC, user_name");
opentable($locale['420']);
echo "<table cellpadding='0' cellspacing='0' width='100%'>\n<tr>\n";
echo "<td align='center' colspan='2' class='tbl1'><strong>".$data['group_name']."</strong> (".sprintf((dbrows($result) == 1 ? $locale['421'] : $locale['422']), dbrows($result)).")</td>\n";
echo "</tr>\n<tr>\n";
echo "<td class='tbl2'><strong>".$locale['423']."</strong></td>\n";
echo "<td align='center' width='1%' class='tbl2' style='white-space:nowrap'><strong>".$locale['424']."</strong></td>\n";
echo "</tr>\n";
while ($data = dbarray($result)) {
$cell_color = ($i % 2 == 0 ? "tbl1" : "tbl2"); $i++;
echo "<tr>\n<td class='$cell_color'>\n<a href='profile.php?lookup=".$data['user_id']."'>".$data['user_name']."</a></td>\n";
echo "<td align='center' width='1%' class='$cell_color' style='white-space:nowrap'>".getuserlevel($data['user_level'])."</td>\n</tr>";
}
echo "</table>\n";
} else {
redirect("index.php");
}
}
closetable();
require_once THEMES."templates/footer.php";
?>
Edytowane przez kefirek dnia 18.08.2008 11:02:14
|
|
|
|
Pieka |
Dodany dnia 18.08.2008 11:43:51
|
Postów: 19882 Pomógł: 767
v7.02.03 Data rejestracji: 23.02.2005 18:12
|
@kefirek, nie tak. Zobacz jak jest to rozwiazane w przypadku komentarzy, postow, shoutow i calej reszty.
Myslisz po staremu i ingerujesz w pliki przeczac tym samym ideii v7, ktory jest oparty na modulach i zasadzie jak najmniejszej ilosci modyfikacji plikow core. Teraz tworzysz modul, ktory nastepnie umieszczasz w includes/user_fields i wlaczasz w PA => Zarzadzanie uzytkownikami => Pola profilu. Prawda, ze proste i logiczne?
Zdecydowanie musisz zmienic sposob myslenia i tworzenia/przerabiania
Jestem jaki jestem
|
|
|
|
08radek |
Dodany dnia 18.08.2008 12:24:32
|
Przedszkolak
Postów: 14 Ostrzeżeń: 1
Data rejestracji: 31.10.2007 22:51
|
@kefirek Witam, dziękuje kod działa tylko tyle że trzeba dodać rozmiar tabeli tak aby pasował do reszty, ale
dałem sobie z tym rade.
Miał bym pytanie dotyczące komentarzy bo wyświetlają sie ale nie w postaci linka i ciężko domyśleć sie z jakiego pochodzi ten komentarz artykułu czy możesz mi napisać jak zrobić aby w komentarze na profilu był linkiem tzn. Można by było trafić gdzie dany komentarz wystawiłem. |
|
|
|
kefirek |
Dodany dnia 18.08.2008 16:41:34
|
Zaawansowany
Postów: 1191 Pomógł: 418 Ostrzeżeń: 1
v6.00.xxx Data rejestracji: 06.04.2008 21:59
|
Miał bym pytanie dotyczące komentarzy bo wyświetlają sie ale nie w postaci linka i ciężko domyśleć sie z jakiego pochodzi ten komentarz artykułu czy możesz mi napisać jak zrobić aby w komentarze na profilu był linkiem tzn. Można by było trafić gdzie dany komentarz wystawiłem.
Przywróć oryginalny plik profile.php i teraz utwórz sobie plik o nazwie user_komentarz-stat_include.php a kod pliku to
<?php
if (!defined("IN_FUSION")) { die("Access Denied"); }
if ($profile_method == "input") {
//Nothing here
} elseif ($profile_method == "display") {
$ile = dbquery("SELECT count(comment_id) FROM ".DB_COMMENTS." WHERE comment_name='".$user_data['user_id']."'");
echo "<tr>";
echo "<td width='1%' class='tbl1' style='white-space:nowrap'>Komentarzy:</td>\n";
echo "<td align='right' class='tbl1'>Ilość: ".number_format(dbresult($ile, 0))."</td>\n";
echo "</tr>";
$result1 = dbquery("SELECT * FROM ".DB_COMMENTS." WHERE comment_name='".$user_data['user_id']."' AND comment_type='A' ORDER BY comment_datestamp LIMIT 4");
if(dbrows($result1) > 0) {
while($r1 = dbarray($result1))
{
echo "<tr>";
echo "<td colspan='2' align='left' class='tbl1' style='white-space:nowrap'>".THEME_BULLET." <a href='".BASEDIR."articles.php?article_id=".$r1['comment_item_id']."'>".$r1['comment_message']."</a></td>";
echo "</tr>";
}
} else {
echo "<tr>";
echo "<td colspan='2' align='center' class='tbl1' style='white-space:nowrap'>Użytkownik nie dodał komentarzy</td>";
echo "</tr>";
}
$ile1 = dbquery("SELECT count(article_id) FROM ".DB_ARTICLES." WHERE article_name='".$user_data['user_id']."'");
echo "<tr>";
echo "<td width='1%' class='tbl1' style='white-space:nowrap'>Artykuły:</td>\n";
echo "<td align='right' class='tbl1'>Ilość: ".number_format(dbresult($ile1, 0))."</td>\n";
echo "</tr>";
$result = dbquery("SELECT * FROM ".DB_ARTICLES." WHERE article_name='".$user_data['user_id']."' ORDER BY article_datestamp LIMIT 4");
if(dbrows($result) > 0) {
while($r = dbarray($result))
{
echo "<tr>";
echo "<td colspan='2' align='left' class='tbl1' style='white-space:nowrap'>".THEME_BULLET." <a href='".BASEDIR."articles.php?article_id=".$r['article_id']."'>".$r['article_subject']."</a></td>";
echo "</tr>";
}
} else {
echo "<tr>";
echo "<td colspan='2' align='center' class='tbl1' style='white-space:nowrap'>Użytkownik nie dodał artykułów</td>";
echo "</tr>";
}
} elseif ($profile_method == "validate_insert") {
//Nothing here
} elseif ($profile_method == "validate_update") {
//Nothing here
}
?>
i umieść ten plik w katalogu includes\user_fields\
Potem utwórz drugi plik o nazwie user_komentarz-stat_include_var.php
<?php
if (!defined("IN_FUSION")) { die("Access Denied"); }
$user_field_name = "Artykuły i komentarze";
$user_field_desc = "Dodane artykuły i komentarze przez użytkownika";
$user_field_dbname = "user_komentarz-stat";
$user_field_group = 4;
$user_field_dbinfo = "";
?>
i umieść go w tym samy katalogu i potem tylko w PA > Zarządzanie użytkownikami > Pola profilu > i włącz pole z opisem Dodane artykuły i komentarze przez użytkownika i to tyle linki do komentarzy zrobiłem
Edytowane przez kefirek dnia 18.08.2008 16:56:36
|
|
|
|
08radek |
Dodany dnia 19.08.2008 01:47:05
|
Przedszkolak
Postów: 14 Ostrzeżeń: 1
Data rejestracji: 31.10.2007 22:51
|
Dziękuje zmieniłem zgodnie z w/w i jest super w 100%, wielkie dzięki. |
|
|
|
neon103 |
Dodany dnia 01.12.2008 18:26:37
|
Początkujący
Postów: 118 Ostrzeżeń: 1
Data rejestracji: 01.09.2006 08:12
|
Miałbym taką prośbę, aby troszkę zmodyfikować ten plik, ponieważ jak dodaję na nową wersję php-fusion to wyświetla błąd poza tabelką: "ďťż". Byłbym wdzięczny, gdyby kodowanie także było zmienione, ponieważ są wyświetlane tzw. krzaczki. |
|
|