Funrang Problem

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Bassbox
Mitglied
Beiträge: 27
Registriert: 08.11.2008 08:52

Funrang Problem

Beitrag von Bassbox »

Ich habe einen Funrang Mod, auch wenn man es nicht wirklich Mod nenen kann. Ich habe es jetzt soweit geschaft das man ihn ohne Fehler oder Problem ändern/anlegen kann. Leider habe ich das Problem das sich User nichtmehr registrieren können, dann kommt immer vollgender Fehler:

Code: Alles auswählen

Allgemeiner Fehler
SQL ERROR [ mysql4 ]

Field 'user_funrang' doesn't have a default value [1364]

Beim Laden der Seite ist ein SQL-Fehler aufgetreten. Bitte kontaktiere die Board-Administration, falls dieses Problem fortlaufend auftritt.
Ich habe in der Tabelle phpbb_users die Spalte user-funrang angelegt, dort werden die angelegten funrangs gespeichert. Die Spalte hat den Typ "Tinytext" und der Kollation "uft8_bin".

Dan habe ich vollgenden Code angelegt, name ucp_profile_funrang.html:

Code: Alles auswählen

<!-- INCLUDE ucp_header.html -->

<table class="tablebg" width="100%" cellspacing="1">
<tr>
   <th colspan="2" valign="middle">{L_TITLE}</th>
</tr>

<!-- IF ERROR -->
   <tr>
      <td class="row3" colspan="2" align="center"><span class="genmed error">{ERROR}</span></td>
   </tr>
<!-- ENDIF -->

<tr> 
   <td class="row1" colspan="2"><span class="gensmall">{L_FUNRANG_EXPLAIN}</span></td>
</tr>
<tr> 
   <td class="row1" height="75px" width="35%"><b class="genmed">{L_SET_FUNRANG}: </b></td>
   <td class="row2"><input class="post" type="text" name="funrang" size="35" maxlength="35" value="{FUNRANG}" /></td>
</tr>

<tr>
   <td class="cat" colspan="2" align="center">{S_HIDDEN_FIELDS}<input class="btnmain" type="submit" name="submit" value="{L_SUBMIT}" />&nbsp;&nbsp;<input class="btnlite" type="reset" value="{L_RESET}" name="reset" /></td>
</tr>
</table>

<!-- INCLUDE ucp_footer.html -->
Dan habe ich noch diese Codes geändert:

includes/ucp/info/ucp_profile.php

Finde:

Code: Alles auswählen

'reg_details'    => array('title' => 'UCP_PROFILE_REG_DETAILS', 'auth' => '', 'cat' => array('UCP_PROFILE')),                           
Danach einfügen:
Um die Übersicht zu behalten in einer neuen Zeile ...

Code: Alles auswählen

'funrang'        => array('title' => 'UCP_PROFILE_FUNRANG', 'auth' => '', 'cat' => array('UCP_PROFILE')),                           
Öffne: includes/ucp/ucp_profile.php

Finde:

Code: Alles auswählen

}

        $template->assign_vars(array(
            'L_TITLE'    => $user->lang['UCP_PROFILE_' . strtoupper($mode)],

            'S_HIDDEN_FIELDS'    => $s_hidden_fields,
            'S_UCP_ACTION'        => $this->u_action)
        );                           
Davor einfügen:

Code: Alles auswählen

            case 'funrang':

                $data = array(
                    'funrang'        => utf8_normalize_nfc(request_var('funrang', $user->data['user_funrang'], true)),
                );

                add_form_key('ucp_funrang');

                if ($submit)
                {
                    $validate_array = array(
                        'funrang'        => array('string', true, 2, 20),
                    );

                    $error = validate_data($data, $validate_array);

                    if (!check_form_key('ucp_funrang'))
                    {
                        $error[] = 'FORM_INVALID';
                    }

                    if (!sizeof($error))
                    {
                        $sql_ary = array(
                            'user_funrang'    => $data['funrang'],
                        );

                        $sql = 'UPDATE ' . USERS_TABLE . '
                            SET ' . $db->sql_build_array('UPDATE', $sql_ary) . '
                            WHERE user_id = ' . $user->data['user_id'];
                        $db->sql_query($sql);

                        meta_refresh(3, $this->u_action);
                        $message = 
$user->lang['PROFILE_UPDATED'] . '<br /><br />' . sprintf($user->lang['RETURN_UCP'], '<a href="' . $this->u_action . '">', '</a>');
                        trigger_error($message);
                    }

                    // Replace "error" strings with their real, localised form
                    $error = preg_replace('#^([A-Z_]+)$#e', "(!empty(\$user->lang['\\1'])) ? \$user->lang['\\1'] : '\\1'", $error);
                }                

                $template->assign_vars(array(
                    'ERROR'        => (sizeof($error)) ? implode('<br />', $error) : '',
                    'FUNRANG'    => $data['funrang'],
                ));
            
            break;                           

view_topic.php


Finde:

Code: Alles auswählen

$user_cache[$poster_id] = array(                        
Danach einfügen:

Code: Alles auswählen

'funrang_title'        => $row['user_funrang'],                        



Finde:

Code: Alles auswählen

    $postrow = array(                       
Danach einfügen:

Code: Alles auswählen

'FUNRANG_TITLE'        => $user_cache[$poster_id]['funrang_title'],                       
styles/subsilver2/template/vietopic_body.html


Finde:

Code: Alles auswählen

<!-- IF postrow.RANK_TITLE -->
                <tr>
                    <td class="postdetails">{postrow.RANK_TITLE}</td>
                </tr>
<!-- ENDIF -->                   
Danach einfügen:
Das ist der Abschnitt des Templates, wo später der benutzerdefinierte Rang zu sehen ist ...

Code: Alles auswählen

<!-- IF postrow.FUNRANG_TITLE -->
                <tr>
                    <td class="postdetails">{postrow.FUNRANG_TITLE}</td>
                </tr>
<!-- ENDIF -->                   
Chace habe ich gelert... leider funktioniert die registrierung nicht mehr, kann mir einer sagen warum?
Ich bin ein kleiner Programmiererfreak^^
frage nur nach wenn ich wirklichnicht mehr weiter weis....

Helfe euch gerne bei euren phpbb3 Foren.... auf anfrage bekommt ihr vll meinen BP Mod
Poke-Area
Gesperrt
Beiträge: 143
Registriert: 16.11.2009 14:54

Re: Funrang Problem

Beitrag von Poke-Area »

Lösch dein Funrang -Mod KOMPLETT;dann müsste es funktionieren!Soein Mod ist nicht so gut für phpbb..
Benutzeravatar
Mahony
Ehemaliges Teammitglied
Beiträge: 12179
Registriert: 17.11.2005 22:33
Wohnort: Ostfildern Kemnat
Kontaktdaten:

Re: Funrang Problem

Beitrag von Mahony »

Hallo
Siehe auch KB:no_default


Grüße: Mahony
Taekwondo in Berlin
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
Antworten

Zurück zu „[3.0.x] Mod Support“