Błąd w profilu użytkownika: "Cannot redeclare useraccess()" po instalacji Fusionboard 4
|
Sampel |
Dodany dnia 18.01.2010 16:02:11
|
Przedszkolak
Postów: 7
Data rejestracji: 18.01.2010 14:29
|
Witam,
mam problem, a mianowicie, gdy wchodzę w profil któregoś z użytkowników mojego portalu, wywala mi błąd:
Fatal error: Cannot redeclare useraccess() (previously declared in /home/forcecho/public_html/forceteam.pl/infusions/fusionboard4/includes/func.php:180) in /home/forcecho/public_html/forceteam.pl/includes/user_fields/user_title_include.php on line 56
Kliknij i zaczekaj na załadowanie kodu ...
Błąd zaczął się pojawiać po instalacji Fusionboard 4.
Dało by się to jakoś naprawić?
Edytowane przez Sampel dnia 18.01.2010 16:04:03
|
|
|
|
Wścibski Gość |
Dodany dnia 25.11.2024 03:02:41
|
Pan Kontekstualny
Postów: n^x
Data rejestracji: Zawsze
|
|
IP: localhost |
|
|
piotrek199214 |
Dodany dnia 18.01.2010 16:07:30
|
Bywalec
Postów: 977 Pomógł: 168
v7.01.05 Data rejestracji: 17.12.2007 21:05
|
Powiedz co jest w tym pliku i w tej lini (chodzi o kod):
user_title_include.php on line 56
Pomogłem Ci? Wystarczy podziękować i oznaczyć post jako pomocny
Tanie tworzenie wtyczek, masz problem napisz.
|
|
|
|
Sampel |
Dodany dnia 18.01.2010 16:10:45
|
Przedszkolak
Postów: 7
Data rejestracji: 18.01.2010 14:29
|
Linia 56:
function useraccess($field) {
Kliknij i zaczekaj na załadowanie kodu ...
Edytowane przez Sampel dnia 18.01.2010 16:11:17
|
|
|
|
piotrek199214 |
Dodany dnia 18.01.2010 16:15:11
|
Bywalec
Postów: 977 Pomógł: 168
v7.01.05 Data rejestracji: 17.12.2007 21:05
|
Tak będzie nam ciężko to zidentyfikować. Wrzuć ten plik do załącznika na forum.
Pomogłem Ci? Wystarczy podziękować i oznaczyć post jako pomocny
Tanie tworzenie wtyczek, masz problem napisz.
|
|
|
|
Sampel |
Dodany dnia 18.01.2010 16:20:54
|
Przedszkolak
Postów: 7
Data rejestracji: 18.01.2010 14:29
|
Trzymaj :)
<?php
/*
fusionBoard 4.0
php-Invent Team
http://www.php-invent.com
Developer: Ian Unruh (SoBeNoFear)
*/
if (!defined("IN_FUSION")) { die("Access Denied"); }
$fb4 = dbarray(dbquery("select * from ".$db_prefix."fb_settings"));
// Check if locale file is available matching the current site locale setting.
if (file_exists(INFUSIONS."fusionboard4/locale/".$settings['locale'].".php")) {
// Load the locale file matching the current site locale setting.
include INFUSIONS."fusionboard4/locale/".$settings['locale'].".php";
} else {
// Load the infusion's default locale file.
include INFUSIONS."fusionboard4/locale/English.php";
}
if ($profile_method == "input" && isset($user_data)) {
$titleOpts = "";
$titleQuery = dbquery("select * from ".$db_prefix."fb_titles where title_status='1' and (".groupaccess("title_access").")");
while($titleData = dbarray($titleQuery)){
$titleOpts .= "<option value='".$titleData['title_id']."'".($titleData['title_id'] == $user_data['user_title'] ? " SELECTED" : "").">".stripslash($titleData['title_title'])."</option>\n";
}
if($fb4['user_titles']){
echo "<tr>\n";
echo "<td class='tbl'><script type='text/javascript' src='".INFUSIONS."fusionboard4/includes/js/fb4.js'></script>
".$locale['uf_title_profile']."
(<a href=\"javascript:;\" id=\"preset-toggle\" onclick=\"sw('title', 'custom', 'preset');\"><b>preset</b></a> | <a href=\"javascript:;\" onclick=\"sw('title', 'preset', 'custom');\" id=\"custom-toggle\">custom</a>)</td>\n";
echo "<td class='tbl'>
<div id=\"title-preset\" style=\"display:block;\">
<select name='user_title' class='textbox' style='width:200px;' />";
if($fb4['user_titles_custom'] && checkgroup($fb4['user_titles_custom_access'])){
echo "<option value='---'>".$locale['uf_custom']."</option>";
}
echo "$titleOpts
</select>
</div>
<div id=\"title-custom\" style=\"display:none;\">";
if($fb4['user_titles_custom'] && checkgroup($fb4['user_titles_custom_access'])){
$title = (!isnum($user_data['user_title']) ? stripslash($user_data['user_title']) : "");
echo "<input type='text' name='user_title_custom' value='$title' class='textbox' style='width:200px;'>\n";
} else {
echo $locale['uf_custom_disabled'];
}
echo "</div>
</td>\n";
echo "</tr>\n";
}
} elseif ($profile_method == "display") {
if ($fb4['user_titles_profile'] && $fb4['user_titles']) {
function useraccess($field) {
global $user_data;
if ($user_data['user_level'] == 0) { return "$field = '0'";
} elseif ($user_data['user_level'] == 103) { return "1 = 1";
} elseif ($user_data['user_level'] >= 102) { $res = "($field='0' OR $field='101' OR $field='102'";
} elseif ($user_data['user_level'] >= 101) { $res = "($field='0' OR $field='101'";
}
if (substr($user_data['user_groups'], 1) != "" && $user_data['user_level'] !== 103) { $res .= " OR $field='".str_replace(".", "' OR $field='", substr($user_data['user_groups'], 1))."'"; }
$res .= ")";
return $res;
}
$titleLookup = dbquery("select * from ".$db_prefix."fb_titles where title_id='".$user_data['user_title']."' and (".useraccess("title_access").")");
if(dbrows($titleLookup)){
$titleData = dbarray($titleLookup);
$title = stripslash($titleData['title_title']);
} else {
$title = stripslash($user_data['user_title']);
}
echo "<tr>\n";
echo "<td width='1%' class='tbl1' style='white-space:nowrap'>".$locale['uf_title_profile']."</td>\n";
echo "<td align='right' class='tbl1'>$title</td>\n";
echo "</tr>\n";
}
} elseif ($profile_method == "validate_insert") {
$db_fields .= ", user_title";
$db_values .= ", '".$fb4['title_default']."'";
} elseif ($profile_method == "validate_update") {
if($fb4['user_titles_custom'] && checkgroup($fb4['user_titles_custom_access'])){
if($_POST['user_title'] == "---"){
echo "test";
$newTitle = addslash(stripinput($_POST['user_title_custom']));
} else {
echo "test2";
$newTitle = $_POST['user_title'];
}
} else {
echo "test3";
$newTitle = $_POST['user_title'];
}
$db_values .= ", user_title='".$newTitle."'";
}
?>
Kliknij i zaczekaj na załadowanie kodu ...
Sampel dodał/a następującą plik:
Edytowane przez Sampel dnia 18.01.2010 16:22:18
|
|
|
|
piotrek199214 |
Dodany dnia 18.01.2010 16:30:19
|
Bywalec
Postów: 977 Pomógł: 168
v7.01.05 Data rejestracji: 17.12.2007 21:05
|
Tego typu funkcja jest również w maincore.php
function groupaccess($field) {
if (iGUEST) { return "$field = '0'";
} elseif (iSUPERADMIN) { return "1 = 1";
} elseif (iADMIN) { $res = "($field='0' OR $field='101' OR $field='102'";
} elseif (iMEMBER) { $res = "($field='0' OR $field='101'";
}
if (iUSER_GROUPS != "" && !iSUPERADMIN) { $res .= " OR $field='".str_replace(".", "' OR $field='", iUSER_GROUPS)."'"; }
$res .= ")";
return $res;
}
Nie jest rozpoznawalna zmienna:
$field
Spróbuj może na początku strony dodać odnośnik do maincore.php
czyli po tym:
if (!defined("IN_FUSION")) { die("Access Denied"); }
wstaw to:
require_once "../../maincore.php";
Nie mam pojęcia bo trudno długać na podstawie jednego pliku.
Pozdrawiam
Edytowane przez piotrek199214 dnia 18.01.2010 16:32:48
Pomogłem Ci? Wystarczy podziękować i oznaczyć post jako pomocny
Tanie tworzenie wtyczek, masz problem napisz.
|
|
|
|
Sampel |
Dodany dnia 18.01.2010 16:40:36
|
Przedszkolak
Postów: 7
Data rejestracji: 18.01.2010 14:29
|
W require_once "../../maincore.php"
Kliknij i zaczekaj na załadowanie kodu ... jest błąd :( |
|
|
|
piotrek199214 |
Dodany dnia 18.01.2010 16:46:45
|
Bywalec
Postów: 977 Pomógł: 168
v7.01.05 Data rejestracji: 17.12.2007 21:05
|
No to nie pomogę. Najlepiej mieć dostęp i sprawdzać. A tak nie ma sensu.
Pozdrawiam
Pomogłem Ci? Wystarczy podziękować i oznaczyć post jako pomocny
Tanie tworzenie wtyczek, masz problem napisz.
|
|
|
|
bartek124 |
Dodany dnia 18.01.2010 17:03:49
|
Weteran
Postów: 3264 Pomógł: 236
v7.02.06 Data rejestracji: 26.05.2007 12:25
|
Dwa razy skrypt próbuje zadeklarować tę samą funkcję, tzn. o tej samej nazwie. Prawdopodobnie dwa razy includujesz ten sam plik. Może jakieś własne modyfikacje? Poza tym lepiej korzystać z include_once lub require_once, ponieważ te instrukcje sprawdzają, czy wcześniej plik nie został załadowany i po prostu nie ładują go powtórnie.
Edytowane przez bartek124 dnia 18.01.2010 17:04:11
Nie pomagam na komunikatorach oraz PW!
|
|
|