Seite 4 von 5
Verfasst: 18.03.2003 18:55
von Candy
Hab hier mal die beiden dateien usercp_register.php/usercp_avatar.php geuppt vieleicht kann ja mal einer reinsehen:
usercp_register.txt
usercp_avatar.txt
Grüße Candy
Verfasst: 18.03.2003 23:24
von Ramon
Hi,
du kannst ja mal versuchen vor:
function display_avatar_gallery($mode, &$category, &$user_id, &$email, &$current_email, &$coppa, &$username, &$email, &$new_password, &$cur_password, &$password_confirm, &$icq, &$aim, &$msn, &$yim, &$website, &$location, &$user_flag, &$occupation, &$interests, &$referral, &$signature, &$viewemail, &$notifypm, &$popuppm, &$notifyreply, &$user_away, &$user_away_from, &$attachsig, &$allowhtml, &$allowbbcode, &$allowsmilies, &$hideonline, &$style, &$language, &$timezone, &$dateformat, &$allow_mass_pm, &$custom_rank, &$dstime, &$gender, &$birthday, &$realname)
das einzufügen:
$user_away_from = strtotime ("$y_away-$m_away-$d_away 00:00:00-0000");
vieleicht funktionierts
Gruß Ramon
Verfasst: 18.03.2003 23:27
von Candy
Danke dir @Ramon aber das habe ich auch schon ausprobiert auch mit date() statt mit strtotime() aber beides geht nicht
Grüße Candy
Verfasst: 19.03.2003 00:17
von Candy
Hi,
also das problem mit dem das es nichtwieder ausgewählt ist nach dem anschauen hat sich erledigt bleibt nurnoch das problem das schon bevor man was eingestellt hat 1 Januar - ausgewählt ist jemand ne idee?
Grüße Candy
Verfasst: 19.03.2003 14:18
von Candy
Sonst keiner ne idee?Wenn ich das entferne unter den Drop Downs:
Code: Alles auswählen
$s_d_first_pc = str_replace("value=\"".date("d","$user_first_pc_from")."\">", "value=\"".date("d","$user_first_pc_from")."\" SELECTED>" ,$s_d_first_pc);
ist nichts vorher ausgewählt aber dann ist auch nichts mehr ausgewählt wenn ich etwas gespeichert habe
Candy
Verfasst: 19.03.2003 19:29
von saerdnaer
ich hab schon mal sowas gemacht... das auch funktionierte und ein bischen schöner aussah... soll ich es mal posten?
ah
Verfasst: 20.03.2003 08:53
von Candy
Ja das wäre nett von dir
Grüße Candy
Verfasst: 22.03.2003 10:32
von Candy
hmm sonst noch irgendjemand ne idee wie ich das problem lösen kann das nicht schon bevor man irgendwas ausgewählt hat und das gespeichert hat 1 Januar in den Drop Downs im profil ausgewählt ist?
Ich bin für wirklich jede idee dankbar!!!!
Grüße Candy
Verfasst: 23.03.2003 16:02
von saerdnaer
okay code für die ausgabe:
$data['startdate'] ist der ursprüngliche wert aus dem feld... als default würde ich den wert von time(); nehmen
Code: Alles auswählen
$year = date('Y');
$startdate = getdate($data['startdate']);
$startdate_select = '<select name="start_day">';
for ( $i = 1; $i <= 31; $i++ )
{
$selected = ( $startdate['mday'] == $i ) ? ' selected="selected"' : '';
$null = ( strlen($i) == 1 ) ? '0' : '';
$startdate_select .= '<option value="' . $i . '"' . $selected . '>' . $null . $i . '</option>';
}
$startdate_select .= '</select> ';
$startdate_select .= '<select name="start_month" onChange="check(this.form.start_day,this,this.form.start_year)">';
for ( $i = 1; $i <= 12; $i++ )
{
$selected = ( $startdate['mon'] == $i ) ? ' selected="selected"' : '';
$startdate_select .= '<option value="' . $i . '"' . $selected . '>' . $lang['months_long'][$i-1] . '</option>';
}
$startdate_select .= '</select> ';
$startdate_select .= '<select name="start_year" onChange="check(this.form.start_day,this.form.start_month,this)">';
for ( $i = $startdate['year'] - 1; $i <= $year + 1; $i++ )
{
$selected = ( $startdate['year'] == $i ) ? ' selected="selected"' : '';
$startdate_select .= '<option value="' . $i . '"' . $selected . '>' . $i . '</option>';
}
$startdate_select .= '</select>';
code für erzeugung des timestamps:
Code: Alles auswählen
$startdate = mktime(0, 0, 0, $HTTP_POST_VARS['start_month'], $HTTP_POST_VARS['start_day'], $HTTP_POST_VARS['start_year']);
und dann solltest du noch folgende javascript am ende der templatedatei einfügen:
Code: Alles auswählen
<script type="text/javascript">
<!--
//
// 'Date check function' © 2002 by Saerdnaer <saerdnaer@web.de>
//
function check(field, month, year)
{
month = month.options[month.selectedIndex].value;
year = year.options[year.selectedIndex].text;
switch(month)
{
case '4':
case '6':
case '9':
case '11':
days = 30;
break;
case '2':
if ((year / 4) == Math.floor(year / 4))
{
days = 29;
}
else
{
days = 28;
}
break;
default:
days = 31;
break;
}
if (days < field.length)
{
while (days < field.length)
{
field.options[field.length-1] = null;
}
}
else if (days > field.length)
{
while (days > field.length)
{
field.options[field.length] = new Option (field.length+1);
}
}
}
check(document.post.start_day, document.post.start_month, document.post.start_year);
//-->
</script>
du musst natürlich den name des formulars, die namen der felder und den name der variabeln dementsprechend anpassen...
ah
Verfasst: 02.04.2003 20:50
von Candy
Hi,
ich habe es jetzt hinbekommen das nicht schon von Anfang an was ausgewählt ist ( Mit dem von dir geposteten Code @saerdnaer komme ich überhaupt nicht zurecht ) ich habe es auch so umgecodet das man das Jahr in ein eingabfeld selbst angeben muss und hab eine frage dazu wenn ein user jetzt in das eingabefeld 200 eingibt statt z.b. 2003 wird trotzdem ein timestamp in die db eingefügt wie kann ich das verhindern also das wenn $user_first_pc ein falsches Datumsformat enthält eine fehlermeldung angezeigt wird nach dem absenden?
Ich habe es mir mal beim birthday Mod angesehen da wird das so gemacht:
Code: Alles auswählen
if ( $birthday <= strlen($lang['Submit_date_format']) )
{
$error = TRUE;
if( isset($error_msg) )$error_msg .= "<br />";
$error_msg .= $lang['Wrong_birthday_format'];
}
wobei $lang['Submit_date_format'] in der lang_main.php so aussieht:
kann ich das bei der von dir geposteten lösung @MisterX genauso machen weil das ist scheinbar in einem anderen Datumsformat:
Code: Alles auswählen
$user_first_pc = strtotime ("$y_first_pc -$m_first_pc -$d_first_pc 00:00:00-0000");
müsst ich dann dafür nur d-m-Y in Y-m-d ändern oder wie?
Grüße Candy