Demo

Probiere ClanSphere aus und teste daran herum. Demo


Antworten: 6
Seite [1]
Tress13


Highlander




Herkunft: Lüdenscheid
Beiträge: 3048
# Thema - 29.12.2014 um 15:08 Uhr
Ich habe mit Hilfe der Community (Tom08) die users_view etwas umbasteln können,
sodass ich nun die Medaillen und auch die Zugriffsklasse dort angezeigt bekomme.
Allerdings bekomme ich jetzt einen kleinen Fehler in den Logs angegeben:

Datum/Uhrzeit: 2014-12-29 / 14:58:30
Fehler: PHP Notice on line 27 -> Undefined variable: data
Datei Name: ...mods/users/view.php
Verursacht in: mod=users&action=view&id=1


Die geänderte users_view.php sieht wie folgt aus:
mehr... +-
 
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
1. / 2. / ... 
<?php
// ClanSphere 2010 - www.clansphere.net
// $Id$

$cs_lang cs_translate('users');

$users_id $_GET['id'];
settype($users_id,'integer');
$cs_user cs_sql_select(__FILE__,'users','*',"users_id = '" $users_id "'");

if(empty(
$cs_user['users_active'])) {

  echo 
cs_subtemplate(__FILE__,$data,'users','head');

  
$data['lang']['not_active'] = $cs_lang['not_active'];
  echo 
cs_subtemplate(__FILE__,$data,'users','not_active');
}
elseif(!empty(
$cs_user['users_delete'])) {

  echo 
cs_subtemplate(__FILE__,$data,'users','head');

  
$data['lang']['delete'] = $cs_lang['delete'];
  echo 
cs_subtemplate(__FILE__,$data,'users','delete');
}
else {

  echo 
cs_subtemplate(__FILE__,$data,'users','head');
  
  
$old_nick cs_sql_select(__FILE__,'usernicks','users_nick','users_id = ' $users_id,'users_changetime DESC',0,1);
  
$data['if']['old_nick'] = false;
  if(!empty(
$old_nick)) {
    
$data['if']['old_nick'] = true;
    
$data['users']['old_nick'] = $old_nick['users_nick'];  
  }

  
$data['users']['id'] = $cs_user['users_id'];
  
  
/* START Zugriffsrechte {users:access_name} */
  
$access cs_sql_select(__FILE__'access''access_name''access_id = "' $cs_user['access_id'] . '"');
  
$data['users']['access_name'] = $access['access_name'];
  
/* STOP Zugriffsrechte {users:access_name} */

  
$hidden explode(',',$cs_user['users_hidden']);
  
#$allow = $users_id == $account['users_id'] OR $account['access_users'] > 4 ? 1 : 0;
  
$allow 0;
  if(
$users_id == $account['users_id'] OR $account['access_users'] > 4) {
    
$allow 1;
  }

  
$data['if']['own_profile'] = $users_id == $account['users_id'] ? true false;
  
$data['url']['picture'] = cs_url('users','picture');
  
$data['url']['profile'] = cs_url('users','profile');

  
$data['users']['nick'] = cs_secure($cs_user['users_nick']);
  
$data['url']['message_create'] = cs_url('messages','create','to_id=' $cs_user['users_id']);
  if(empty(
$cs_user['users_picture'])) {
    
$data['users']['picture'] = $cs_lang['nopic'];
  } else {
    
$place 'uploads/users/' $cs_user['users_picture'];
    
$size getimagesize($cs_main['def_path'] . '/' $place);
    
$data['users']['picture'] = cs_html_img($place,$size[1],$size[0]);
  }
  
  
/* START Personendaten */
  
$content cs_secure($cs_user['users_name']);
  if(
in_array('users_name',$hidden)) {
    
$content = empty($allow) ? '--' cs_html_italic(1) . $content cs_html_italic(0);
  }
  
$data['users']['name'] =  empty($cs_user['users_name']) ? '--' $content;

  
$content cs_secure($cs_user['users_surname']);
  if(
in_array('users_surname',$hidden)) {
    
$content = empty($allow) ? '--' cs_html_italic(1) . $content cs_html_italic(0);
  }
  
$data['users']['surname'] = empty($cs_user['users_surname']) ? '--' $content;

  
$data['lang']['sex'] = $cs_lang['sex'];
  if(empty(
$cs_user['users_sex'])) { $data['users']['sex'] = '--'; }
  if(
$cs_user['users_sex'] == 'male') { $data['users']['sex'] = $cs_lang['male']; }
  if(
$cs_user['users_sex'] == 'female') { $data['users']['sex'] = $cs_lang['female']; }

  
$data['lang']['birth_age'] = $cs_lang['birth_age'];
  if (!empty(
$cs_user['users_age'])) {
    
$content cs_date('date',$cs_user['users_age']);
    
$birth explode ('-'$cs_user['users_age']);
    
$age cs_datereal('Y') - $birth[0];
    if(
cs_datereal('m')<=$birth[1]) { $age--; }
    if(
cs_datereal('d')>=$birth[2] AND cs_datereal('m')==$birth[1]) { $age++; }
    
$content .= ' (' $age ')';
  }
  if(
in_array('users_age',$hidden)) {
    
$content = empty($allow) ? '--' cs_html_italic(1) . $content cs_html_italic(0);
  }
  
$data['users']['age'] = empty($cs_user['users_age']) ? '--' $content;

  
$content = empty($cs_user['users_height']) ? '--' $cs_user['users_height'] . ' cm';
  if(
in_array('users_height',$hidden)) {
    
$content = empty($allow) ? '--' cs_html_italic(1) . $content cs_html_italic(0);
  }
  
$data['users']['height'] = empty($cs_user['users_height']) ? '--' $content;
  
  
$content cs_secure($cs_user['users_adress']);
  if(
in_array('users_adress',$hidden)) {
    
$content = empty($allow) ? '--' cs_html_italic(1) . $content cs_html_italic(0);
  }
  
$data['users']['adress'] = empty($cs_user['users_adress']) ? '--' $content;
  
  
$data['lang']['postal_place'] = $cs_lang['postal_place'];
  if(empty(
$cs_user['users_postalcode']) AND empty($cs_user['users_place'])) {
    
$data['users']['postal_place'] =  '--';
  }
  else {
    
$content cs_secure($cs_user['users_postalcode']) . ' - ' cs_secure($cs_user['users_place']);
    if(
in_array('users_place',$hidden)) {
      
$content = empty($allow) ? '--' cs_html_italic(1) . $content cs_html_italic(0);
    }
    
$data['users']['postal_place'] =   $content;
  }
  
  if(empty(
$cs_user['users_country'])) {
    
$data['users']['country'] = '-';
  }
  else {
    
$url 'symbols/countries/' $cs_user['users_country'] . '.png';
    
$data['users']['country'] =  cs_html_img($url,11,16);
    include_once(
'lang/' $account['users_lang'] . '/countries.php');
    
$country $cs_user['users_country'];
    
$data['users']['country'] .=  ' ' $cs_country[$country];
  }

  
$data['users']['registered'] = cs_date('unix',$cs_user['users_register'],1);
  
$data['users']['laston'] = !empty($cs_users['users_invisible']) ? '--' cs_date('unix',$cs_user['users_laston'],1);
  
/* STOP Personendaten */
  
  /* START Kontaktdaten */
  
$content cs_html_mail($cs_user['users_email']);
  if(
in_array('users_email',$hidden)) {
    
$content = empty($allow) ? '--' cs_html_italic(1) . $content cs_html_italic(0);
  }
  
$data['users']['email'] =  empty($cs_user['users_email']) ? '--' $content;

  
$cs_user['users_url'] = cs_secure($cs_user['users_url']);
  
$content cs_html_link('http://' $cs_user['users_url'],$cs_user['users_url']);
  if(
in_array('users_url',$hidden)) {
    
$content = empty($allow) ? '--' cs_html_italic(1) . $content cs_html_italic(0);
  }
  
$data['users']['url'] = empty($cs_user['users_url']) ? '--' $content;

  
$cs_user['users_skype'] = cs_secure($cs_user['users_skype']);
  
$content cs_html_link('skype:' $cs_user['users_skype'] . '?userinfo'$cs_user['users_skype']);
  
$skype_url 'http://mystatus.skype.com/smallicon/' $cs_user['users_skype'];
  
$content .= ' ' cs_html_img($skype_url,'16','16');
  if(
in_array('users_skype',$hidden)) {
    
$content = empty($allow) ? '--' cs_html_italic(1) . $content cs_html_italic(0);
  }
  
$data['users']['skype'] = empty($cs_user['users_skype']) ? '--' $content;

  
$content cs_secure($cs_user['users_phone']);
  if(
in_array('users_phone',$hidden)) {
    
$content = empty($allow) ? '--' cs_html_italic(1) . $content cs_html_italic(0);
  }
  
$data['users']['phone'] = empty($cs_user['users_phone']) ? '--' $content;

  
$content cs_secure($cs_user['users_mobile']);
  if(
in_array('users_mobile',$hidden)) {
    
$content = empty($allow) ? '--' cs_html_italic(1) . $content cs_html_italic(0);
  }
  
$data['users']['mobile'] =  empty($cs_user['users_mobile']) ? '--' $content;
  
/* STOP Kontaktdaten */
  
  /* START Infotext */
  
$data['users']['info'] = empty($cs_user['users_info']) ? ' ' cs_secure($cs_user['users_info'],1,1);
  
/* STOP Infotext */
  
  /* START Medals */
  
$tables 'medalsuser mu LEFT JOIN {pre}_medals md ON md.medals_id = mu.medals_id';
  
$cells 'mu.users_id AS users_id, md.medals_id AS medals_id, mu.medalsuser_date AS medalsuser_date, mu.medalsuser_id AS medalsuser_id, ';
  
$cells .= 'md.medals_name AS medals_name, md.medals_text AS medals_text, md.medals_extension AS medals_extension';

  
$data['medalsuser'] = cs_sql_select(__FILE__,$tables$cells"mu.users_id = '" $users_id "'",0,0,0);
  
$data['count']['medalsuser'] = count($data['medalsuser']);

  for (
$i 0$i $data['count']['medalsuser']; $i++) {
      
$data['medalsuser'][$i]['img_src'] = 'uploads/medals/medal-' $data['medalsuser'][$i]['medals_id'] . '.' $data['medalsuser'][$i]['medals_extension'];
      
$data['medalsuser'][$i]['medals_text'] = cs_secure($data['medalsuser'][$i]['medals_text'],1);
      
$data['medalsuser'][$i]['medals_date'] = cs_date('unix',$data['medalsuser'][$i]['medalsuser_date']);
      
$data['medalsuser'][$i]['medals_name'] = cs_secure($data['medalsuser'][$i]['medals_name']);
  }
  
/* STOP Medals */
  
  
echo cs_subtemplate(__FILE__,$data,'users','view');
}



Könnte mir vlt jemand helfen das Problem zu beseitigen?


------------------


www.iv-gaming.de | www.iv-artwork.de
Inaktiv
Tom08 ClanSphere Team

Supporter
Supporter



Herkunft: Daheim
Beiträge: 2923
# Antwort: 1 - 29.12.2014 um 15:14 Uhr
In Z. 10, vor
 
1.
1. / 2. / ... 
  if(empty($cs_user['users_active'])) {


einfach noch ergänzen:
 
1.
1. / 2. / ... 
 $data = array();


Somit wird (zumindest der ersten) cs_subtemplate-Funktion dann ein leeres Array übergeben, was okay ist, sofern dort keine Variablen genutzt werden. Das Problem ist, dass sonst das Array mit den Daten für das Template gar nicht definiert ist. Das funktioniert in PHP, ist aber unschön und wirft korrekterweise dann den oben genannten Fehler.

Grüße


------------------
Bei Problemen mit Code von mir bitte eine Private Nachricht an mich


Inaktiv
|
Tress13
Thread-Ersteller


Highlander




Herkunft: Lüdenscheid
Beiträge: 3048
# Antwort: 2 - 29.12.2014 um 15:25 Uhr
Klingt für mich so, als wäre da was, was man nicht braucht.^^
Aber es wird mir kein Fehler mehr ausgegeben. Somit vielen Dank!



------------------


www.iv-gaming.de | www.iv-artwork.de

Inaktiv
|
Tom08 ClanSphere Team

Supporter
Supporter



Herkunft: Daheim
Beiträge: 2923
# Antwort: 3 - 29.12.2014 um 16:25 Uhr
In meinen Augen ist es so sogar schöner als einfach an einer Stelle auf einmal irgendwie direkt ein zwei-dimensionales Array mit einem bestimmten Wert zu initialisieren. Aber für PHP ist das nun mal okay (-:

Wenn dich das störtt, kannst du auch in Z. 13, 20 und 27 statt $data dort array() übergeben. Macht dasselbe, du hast nur das Problem, falls du head doch wieder irgeindeine Variable (Sprachvariable o.ä.) übergeben willst, musst du das an den drei Stellen wieder ändern.

Grüße


------------------
Bei Problemen mit Code von mir bitte eine Private Nachricht an mich


Inaktiv
|
Tress13
Thread-Ersteller


Highlander




Herkunft: Lüdenscheid
Beiträge: 3048
# Antwort: 4 - 29.12.2014 um 16:32 Uhr
Naja bisher habe ich lediglich die head.tpl wie folgt geändert:

 
1.
2.
3.
4.
5.
6.
7.
8.
9.
1. / 2. / ... 
 <table class="forum" cellpadding="0" cellspacing="{page:cellspacing}" style="width:{page:width}">
  <
tr>
    <
td class="headb">{lang:users_profile}</td>
  </
tr>
  <
tr>
    <
td class="leftb">Informationen über den Benutzer.</td>
  </
tr>
</
table>
<
br />


Natürlich wäre ein automatisches ausfüllen des Textes über die lang-Dateien schöner.
Möchte mir deshalb dann doch lieber eine lang-Option da offen halten.


------------------


www.iv-gaming.de | www.iv-artwork.de

Inaktiv
|
Tom08 ClanSphere Team

Supporter
Supporter



Herkunft: Daheim
Beiträge: 2923
# Antwort: 5 - 29.12.2014 um 16:57 Uhr
Sprachvariablen war ein bisschen ungenau, die grundsätzliche Sprachdatei wird ja automatisch mit eingebunden. Lediglich falls man noch irgendwelche anderen Variablen in Abhänigigkeit von bestimmten Bedingungen definieren will, dann kann man die in $data noch überschreibne und dann übergeben.

Grüße


------------------
Bei Problemen mit Code von mir bitte eine Private Nachricht an mich


Inaktiv
|
Tress13
Thread-Ersteller


Highlander




Herkunft: Lüdenscheid
Beiträge: 3048
# Antwort: 6 - 29.12.2014 um 17:18 Uhr
Nene, sonst nichts anderes. Weniger ist mehr.



Gut, dann wird anstelle von $data nun array() eingebaut.
Sofern das die "schönere" Version ist, begrüße ich diese!


Vielen Dank


------------------


www.iv-gaming.de | www.iv-artwork.de

Inaktiv
|
Antworten: 6
Seite [1]


Sie müssen sich registrieren, um zu antworten.