[User Fields] Data ważności konta V.I.P
|
ArkaGdynia |
Dodany dnia 25.02.2010 22:18:21
|
Początkujący
Postów: 143 Pomógł: 3 Ostrzeżeń: 5
Data rejestracji: 01.10.2009 00:04
|
Witam napisałem sobie kod na nowe pole użytkownika
kod pliku user_vip_include.php
<?php
if (!defined("IN_FUSION")) { die("Access Denied"); }
if ($profile_method == "input") {
if ($settings['uservips'] == 1 || iADMIN) {
echo "<tr>\n";
echo "<td class='tbl'>".$locale['uf_vip'].":</td>\n";
echo "<td class='tbl'><input type='text' name='user_vip' value='".(isset($user_data['user_vip']) ? $user_data['user_vip'] : "")."' maxlength='50' class='textbox' style='width:200px;' /></td>\n";
echo "</tr>\n";
}
} elseif ($profile_method == "display") {
if ($user_data['user_vip']) {
echo "<tr>\n";
echo "<td width='1%' class='tbl1' style='white-space:nowrap'>".$locale['uf_vip']."</td>\n";
echo "<td align='right' class='tbl1'>".$user_data['user_vip']."</td>\n";
echo "</tr>\n";
}
} elseif ($profile_method == "validate_insert") {
$db_fields .= ", user_vip";
$db_values .= ", '".((isset($_POST['user_vip']) && ($settings['uservips'] == 1 || iADMIN)) ? stripinput(trim($_POST['user_vip'])) : "Default")."'";
} elseif ($profile_method == "validate_update") {
$db_values .= ", user_vip='".((isset($_POST['user_vip']) && ($settings['uservips'] == 1 || iADMIN)) ? stripinput(trim($_POST['user_vip'])) : "Default")."'";
}
?>
i kod pliku user_vip_include_var.php
<?php
if (!defined("IN_FUSION")) { die("Access Denied"); }
$user_field_name = $locale['uf_vip'];
$user_field_desc = $locale['uf_vip_desc'];
$user_field_dbname = "user_vip";
$user_field_group = 3;
$user_field_dbinfo = "VARCHAR(100) NOT NULL DEFAULT ''";
?>
niby wszystko działa ale wywala błąd:
Notice: Undefined index: uservips in /home/arkagdynia/domains/photoshop-tutorials.unl.pl/public_html/includes/user_fields/user_vip_include.php on line 21
Co prawda nie wiem co oznacza kod :
if ($settings['uservips'] == 1 || iADMIN) {
Ale skutek tego ma być taki że Administrator widzi te pole a użytkownik jak kliknie edytuj profil to go nie widzi.
Proszę o pomoc w poprawie tego kodu co napisałem.
Edytowane przez Pieka dnia 27.02.2010 00:07:57
|
|
|
|
Wścibski Gość |
Dodany dnia 24.11.2024 18:08:53
|
Pan Kontekstualny
Postów: n^x
Data rejestracji: Zawsze
|
|
IP: localhost |
|
|
eldiablo |
Dodany dnia 25.02.2010 22:35:03
|
Bywalec
Postów: 671 Pomógł: 80
Data rejestracji: 13.07.2009 19:20
|
Mogę się mylić ale
if ($settings['uservips'] == 1 || iADMIN) {
To odwołanie że jeżeli administrator i w tabeli settings "uservips" jest wybrane/włączone - 1 to....
Czy w tabeli settings masz pole "uservips" ?? |
|
|
|
ArkaGdynia |
Dodany dnia 25.02.2010 22:39:26
|
Początkujący
Postów: 143 Pomógł: 3 Ostrzeżeń: 5
Data rejestracji: 01.10.2009 00:04
|
Nie nie mam i chyba muszę ją dodać a jakoś można ominąć ten błąd bez dodawania do bazy danych tego pola?? |
|
|
|
eldiablo |
Dodany dnia 25.02.2010 22:42:16
|
Bywalec
Postów: 671 Pomógł: 80
Data rejestracji: 13.07.2009 19:20
|
Nie wiem do czego ma służyć to pole, ale wystarczy w nawiasach samo iADMIN, jeżeli ma być dostępne/widoczne tylko dla adminów.
Edytowane przez eldiablo dnia 25.02.2010 22:42:40
|
|
|
|
ArkaGdynia |
Dodany dnia 25.02.2010 22:54:14
|
Początkujący
Postów: 143 Pomógł: 3 Ostrzeżeń: 5
Data rejestracji: 01.10.2009 00:04
|
Dobra dzięki śmiga wszystko. Możesz bardziej wyjaśnić ja ma być to if ($settings['uservips'] == 1 || iADMIN) {
Tylko bez uservips jak pisałeś wcześniej to rozumiem że:
if (iADMIN) {
Edytowane przez ArkaGdynia dnia 25.02.2010 23:04:42
|
|
|
|
kibel |
Dodany dnia 25.02.2010 23:22:44
|
Początkujący
Postów: 157 Pomógł: 8 Ostrzeżeń: 2
Data rejestracji: 01.02.2010 18:02
ZBANOWANY: Dożywotnio
|
Dokładnie tak jak sam podałeś
if (iADMIN) {
Kliknij jeśli pomogłem.
Bo życie uczy nas myślenia.
|
|
|
|
ArkaGdynia |
Dodany dnia 25.02.2010 23:51:42
|
Początkujący
Postów: 143 Pomógł: 3 Ostrzeżeń: 5
Data rejestracji: 01.10.2009 00:04
|
zminiłem tak i wywala bład:(
Parse error: syntax error, unexpected ';' in /home/arkagdynia/domains/photoshop-tutorials.unl.pl/public_html/includes/user_fields/user_vip_include.php on line 36
zmieniłem tak: if (iADMIN) {
Dalej :
$db_values .= ", '".((isset($_POST['user_vip']) && (iADMIN)) ? stripinput(trim($_POST['user_vip'])) : "")."'";
} elseif ($profile_method == "validate_update") {
$db_values .= ", user_vip='".((isset($_POST['user_vip']) && (iADMIN)) ? stripinput(trim($_POST['user_vip'])) : "")."'";
Edytowane przez ArkaGdynia dnia 25.02.2010 23:52:07
|
|
|
|
eldiablo |
Dodany dnia 26.02.2010 00:04:51
|
Bywalec
Postów: 671 Pomógł: 80
Data rejestracji: 13.07.2009 19:20
|
if (iADMIN) {
echo "<tr>\n";
echo "<td class='tbl'>".$locale['uf_vip'].":</td>\n";
echo "<td class='tbl'><input type='text' name='user_vip' value='".(isset($user_data['user_vip']) ? $user_data['user_vip'] : "")."' maxlength='50' class='textbox' style='width:200px;' /></td>\n";
echo "</tr>\n";
}
|
|
|
|
ArkaGdynia |
Dodany dnia 26.02.2010 00:12:02
|
Początkujący
Postów: 143 Pomógł: 3 Ostrzeżeń: 5
Data rejestracji: 01.10.2009 00:04
|
Nadal to samo
Zminiłem to:if ($settings['uservips'] == 1 || iADMIN) {
echo "<tr>\n";
echo "<td class='tbl'>".$locale['uf_vip'].":</td>\n";
echo "<td class='tbl'><input type='text' name='user_vip' value='".(isset($user_data['user_vip']) ? $user_data['user_vip'] : "")."' maxlength='50' class='textbox' style='width:200px;' /></td>\n";
echo "</tr>\n";
}
Na to:if (iADMIN) {
echo "<tr>\n";
echo "<td class='tbl'>".$locale['uf_vip'].":</td>\n";
echo "<td class='tbl'><input type='text' name='user_vip' value='".(isset($user_data['user_vip']) ? $user_data['user_vip'] : "")."' maxlength='50' class='textbox' style='width:200px;' /></td>\n";
echo "</tr>\n";
}
A jak zminić to:
} elseif ($profile_method == "validate_insert") {
$db_fields .= ", user_vip";
$db_values .= ", '".((isset($_POST['user_vip']) && ($settings['uservips'] == 1 || iADMIN)) ? stripinput(trim($_POST['user_vip'])) : "Default")."'";
} elseif ($profile_method == "validate_update") {
$db_values .= ", user_vip='".((isset($_POST['user_vip']) && ($settings['uservips'] == 1 || iADMIN)) ? stripinput(trim($_POST['user_vip'])) : "Default")."'";
}
?>
Bo tu też jest :($settings['uservips'] == 1 || iADMIN))
Wiadomość doklejona:
Dodałem takie pole. Jest ono tylko widoczne dla Administratora tzw. jak właściciel konta wejdzie w edycje swojego konta to nie widzi on tego pola.
Zdjęcie:)
Ale jest pewien błąd jak ja np. wpisze jakąś datę to zostanie ona zapisana w bazie danych i będzie ona do tą aż użytkownik nie kliknie na edytuj profil a następnie zaktualizuj. W tedy warość pola się zmienia na Default pomoże ktoś ten problem ominąć będę wdzięczny
Edytowane przez ArkaGdynia dnia 26.02.2010 01:56:11
|
|
|
|
eldiablo |
Dodany dnia 26.02.2010 11:07:41
|
Bywalec
Postów: 671 Pomógł: 80
Data rejestracji: 13.07.2009 19:20
|
user_vip_include.php
<?php
if (!defined("IN_FUSION")) { die("Access Denied"); }
if ($profile_method == "input") {
if (iADMIN) {
echo "<tr>\n";
echo "<td class='tbl'>".$locale['uf_vip'].":</td>\n";
echo "<td class='tbl'><input type='text' name='user_vip' value='".(isset($user_data['user_vip']) ? $user_data['user_vip'] : "")."' maxlength='50' class='textbox' style='width:200px;' /></td>\n";
echo "</tr>\n";
}
} elseif ($profile_method == "display") {
if ($user_data['user_vip']) {
echo "<tr>\n";
echo "<td width='1%' class='tbl1' style='white-space:nowrap'>".$locale['uf_vip']."</td>\n";
echo "<td align='right' class='tbl1'>".$user_data['user_vip']."</td>\n";
echo "</tr>\n";
}
} elseif ($profile_method == "validate_insert") {
$db_fields .= ", user_vip";
$db_values .= ", '".((isset($_POST['user_vip']) && (iADMIN)) ? stripinput(trim($_POST['user_vip'])) : "")."'";
}
?>
|
|
|
|
ArkaGdynia |
Dodany dnia 26.02.2010 11:13:47
|
Początkujący
Postów: 143 Pomógł: 3 Ostrzeżeń: 5
Data rejestracji: 01.10.2009 00:04
|
Ok. Teraz system nie zapisuje wartości tego pola.
Wiadomość doklejona:
Ewentualnie może będzie łatwiej zrobić że te pole użytkownik też będzie widział ale edytować go nie będzie mógł.
Edytowane przez ArkaGdynia dnia 26.02.2010 11:31:21
|
|
|
|
eldiablo |
Dodany dnia 26.02.2010 12:12:15
|
Bywalec
Postów: 671 Pomógł: 80
Data rejestracji: 13.07.2009 19:20
|
<?php
if (!defined("IN_FUSION")) { die("Access Denied"); }
if ($profile_method == "input") {
if (iADMIN) {
echo "<tr>\n";
echo "<td class='tbl'>".$locale['uf_vip'].":</td>\n";
echo "<td class='tbl'><input type='text' name='user_vip' value='".(isset($user_data['user_vip']) ? $user_data['user_vip'] : "")."' maxlength='50' class='textbox' style='width:200px;' /></td>\n";
echo "</tr>\n";
}
} elseif ($profile_method == "display") {
if ($user_data['user_vip']) {
echo "<tr>\n";
echo "<td width='1%' class='tbl1' style='white-space:nowrap'>".$locale['uf_vip']."</td>\n";
echo "<td align='right' class='tbl1'>".$user_data['user_vip']."</td>\n";
echo "</tr>\n";
}
} elseif ($profile_method == "validate_insert" && iADMIN) {
$db_fields .= ", user_vip";
$db_values .= ", '".(isset($_POST['user_vip']) ? stripinput(trim($_POST['user_vip'])) : "")."'";
} elseif ($profile_method == "validate_update" && iADMIN) {
$db_values .= ", user_vip='".(isset($_POST['user_vip']) ? stripinput(trim($_POST['user_vip'])) : "")."'";
}
?>
|
|
|
|
ArkaGdynia |
Dodany dnia 26.02.2010 12:22:02
|
Początkujący
Postów: 143 Pomógł: 3 Ostrzeżeń: 5
Data rejestracji: 01.10.2009 00:04
|
Dobra już wszystko działa dzięki za angażowanie w pomoc nigdy bym chyba nie wpadł na to żeby to tak zrobić:)
} elseif ($profile_method == "validate_insert" && iADMIN) {
A już próbowałem wielu rzeczy jeszcze raz dzięki.:) |
|
|
|
Pieka |
Dodany dnia 26.02.2010 18:40:39
|
Postów: 19882 Pomógł: 767
v7.02.03 Data rejestracji: 23.02.2005 18:12
|
Prosze teraz wstawic wszystkie poprawione pliki i zmienic nazwe tematu na wlasciwa i zgodna z zasadami, czyli poprzedzic nazwe pola przedrostkiem [User Fields]. Przyklady znajdziesz w dziale modyfikacji. Dziekuje.
Jestem jaki jestem
|
|
|
|
ArkaGdynia |
Dodany dnia 26.02.2010 23:43:56
|
Początkujący
Postów: 143 Pomógł: 3 Ostrzeżeń: 5
Data rejestracji: 01.10.2009 00:04
|
Wstawiam kody źródłowe tego pola wraz z polskimi localami.
Paczka dodaje nowe pole do użytkownika można tam zapiać ważne dla nas informacje odnośnie użytkownika. Informacja ta będzie widoczna tylko dla Administratora.
Nazwy nowych plików.
1. user_vip_include.php
2. user_vip_include_var.php
3. user_vip.php
user_vip_include.php
<?php
if (!defined("IN_FUSION")) { die("Access Denied"); }
if ($profile_method == "input") {
if (iADMIN) {
echo "<tr>\n";
echo "<td class='tbl'>".$locale['uf_vip'].":</td>\n";
echo "<td class='tbl'><input type='text' name='user_vip' value='".(isset($user_data['user_vip']) ? $user_data['user_vip'] : "")."' maxlength='50' class='textbox' style='width:70px;' /></td>\n";
echo "</tr>\n";
}
} elseif ($profile_method == "display") {
if ($user_data['user_vip']) {
echo "<tr>\n";
echo "<td width='1%' class='tbl1' style='white-space:nowrap'>".$locale['uf_vip']."</td>\n";
echo "<td align='right' class='tbl1'>".$user_data['user_vip']."</td>\n";
echo "</tr>\n";
}
} elseif ($profile_method == "validate_insert" && iADMIN) {
$db_fields .= ", user_vip";
$db_values .= ", '".(isset($_POST['user_vip']) ? stripinput(trim($_POST['user_vip'])) : "")."'";
} elseif ($profile_method == "validate_update" && iADMIN) {
$db_values .= ", user_vip='".(isset($_POST['user_vip']) ? stripinput(trim($_POST['user_vip'])) : "")."'";
}
?>
user_vip_include_var.php
<?php
if (!defined("IN_FUSION")) { die("Access Denied"); }
$user_field_name = $locale['uf_vip'];
$user_field_desc = $locale['uf_vip_desc'];
$user_field_dbname = "user_vip";
$user_field_group = 2;
$user_field_dbinfo = "VARCHAR(100) NOT NULL DEFAULT ''";
?>
user_vip.php
<?php
//
$locale['uf_vip'] = "<u>Twoje konto V.I.P ważne do:</u>";
$locale['uf_vip_desc'] = "Wy¶wietla datę ważno¶ci konta V.I.P";
?>
Dwa pierwsze pliki wklejamy do includes\user_fields
Ostatni do locale\Polish\user_fields
Modyfikacja powstała ze współpracy z eldiablo.
Dodaję całą paczkę :)
Poprawilem nazwe zalacznika/Pieka
ArkaGdynia dodał/a następującą plik:
Edytowane przez Pieka dnia 27.02.2010 00:43:29
|
|
|