Advanced search  

News:

cpg1.5.46 Security release - upgrade mandatory!
The Coppermine development team is releasing a security update for Coppermine in order to counter recently discovered vulnerabilities. It is important that all users who run version cpg1.5.44 or older update to this latest version as soon as possible.
[more]

Pages: [1]   Go Down

Author Topic: Input "Text" gegen Select tauschen  (Read 2113 times)

0 Members and 1 Guest are viewing this topic.

Domiki86

  • Coppermine novice
  • *
  • Offline Offline
  • Posts: 23
Input "Text" gegen Select tauschen
« on: June 02, 2016, 08:31:19 pm »

Moin zusammen,

nachdem ich so tolle Hilfe bei den Benutzerdefinierte Felder bekommen habe brauche ich wieder mal bisschen Hilfe.

Ich würde gerne "user2" und "user5" eine Auswahlliste (select) anstatt Input (text) Felder haben.
Ist dies möglich oder ist das zuviel aufwand? Ich kann die Felder zumindest in der edit_one_pic.php austauschen aber es scheitert an der Weitergabe der Inhalte.
Welche Daten müssen noch alle bearbeitet werden damit die dann auch gleich in der upload.php zu Vorschein kommen?

Ich hoffe mir kann wieder mal jemand helfen.

Vielen Dank

Dominik
Logged

Αndré

  • Administrator
  • Coppermine addict
  • ****
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 15363
Re: Input "Text" gegen Select tauschen
« Reply #1 on: June 07, 2016, 10:21:47 am »

Ich kann die Felder zumindest in der edit_one_pic.php austauschen aber es scheitert an der Weitergabe der Inhalte.

Hat das Feld denn den richtigen Namen? Beispiel:
Open edit_one_pic.php, find
Code: [Select]
if ($CONFIG['user_field1_name'] != '') {

    echo <<< EOT

    <tr>
        <td class="tableb" style="white-space: nowrap;">
            {$CONFIG['user_field1_name']}
        </td>
        <td width="100%" class="tableb" valign="top">
            <input type="text" style="width: 100%" name="user1" maxlength="255" value="{$CURRENT_PIC['user1']}" class="textinput" />
        </td>
    </tr>
EOT;
}
and replace with
Code: [Select]
if ($CONFIG['user_field1_name'] != '') {

    $options_array = array('', 'TABOR ELEKTRYCZNY', 'TABOR SPALINOWY', 'TABOR PAROWY');
    foreach ($options_array as $option) {
        $selected = $CURRENT_PIC['user1'] == $option ? ' selected' : '';
        $options .= "<option{$selected}>{$option}</option>";
    }

    echo <<< EOT

    <tr>
        <td class="tableb" style="white-space: nowrap;">
            {$CONFIG['user_field1_name']}
        </td>
        <td width="100%" class="tableb" valign="top">
            <select name="user1" maxlength="255" class="listbox">{$options}</select>
        </td>
    </tr>
EOT;
}
Logged

Domiki86

  • Coppermine novice
  • *
  • Offline Offline
  • Posts: 23
Re: Input "Text" gegen Select tauschen
« Reply #2 on: June 07, 2016, 01:10:29 pm »

Moin Αndré,

vielen Dank für deine Hilfe.

Ich hatte einen ganz anderen Ansatz als du. Ich wollte den Type text komplett gegen Select tauschen und da lag wohl der Fehler.

Jetzt muss ich nur noch wissen wo ich das in der upload.php ändern muss. Ich habe die letzten Tage immer wieder gesucht aber ich finde die Input Felder nicht. Sind die überhaupt im der upload.php oder werden die in einer anderen Datei erzeugt?

Vielen Dank für deinen tollen Support.

Gruß
Logged

Αndré

  • Administrator
  • Coppermine addict
  • ****
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 15363
Re: Input "Text" gegen Select tauschen
« Reply #3 on: June 07, 2016, 01:23:53 pm »

Reden wir hier von den Feldern beim Einzelupload, oder vom Formular, welches nach dem Hochladen mit dem Flash-Uploader erscheint (editpics.php)?
Logged

Domiki86

  • Coppermine novice
  • *
  • Offline Offline
  • Posts: 23
Re: Input "Text" gegen Select tauschen
« Reply #4 on: June 07, 2016, 01:27:24 pm »

Wir reden von den Feldern im Einzelupload.

Logged

Αndré

  • Administrator
  • Coppermine addict
  • ****
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 15363
Re: Input "Text" gegen Select tauschen
« Reply #5 on: June 07, 2016, 02:50:18 pm »

Ich hab es mir gerade mal angesehen und bin mir sicher, dass es dafür im Forum bereits Lösungen geben sollte, finde diese aber gerade nicht.

Das Formular wird in der Datei upload.php über die Funktion "create_form_simple" erstellt. Da es bisher keine Funktion gibt um Auswahllisten zu erstellen, müssen wir das noch vorbereiten. Als Vorlage kann uns dabei die Funktion "form_alb_list_box" dienen. Innerhalb der Funktion "create_form_simple" müssen wir dann einen "case 5" und "case 6" einfügen, der entsprechend jeweils deine Auswahllisten erstellt. Ein paar Zeilen über dem Funktionsausruf muss dann entsprechend die Nummer für den "case" angepasst werden:
Code: [Select]
$form_array[] = array($CONFIG['user_field2_name'], 'user2', 0, 255, 1);
Code: [Select]
$form_array[] = array($CONFIG['user_field5_name'], 'user5', 0, 255, 1);
Was soll denn in die Auswahllisten jeweils rein?
Logged

Domiki86

  • Coppermine novice
  • *
  • Offline Offline
  • Posts: 23
Re: Input "Text" gegen Select tauschen
« Reply #6 on: June 07, 2016, 03:15:10 pm »

In den Bezeichnung Feld 2 sollen Ländernamen rein und in Bezeichnung Feld 5 Schiffstypen also z.b Stückgutfrachter.


Logged

Αndré

  • Administrator
  • Coppermine addict
  • ****
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 15363
Re: Input "Text" gegen Select tauschen
« Reply #7 on: June 07, 2016, 04:12:25 pm »

Alles klar. Ich habe heute vermutlich keine Zeit mehr den Code zu erstellen. Evtl. schaffe ich es am Donnerstag oder Freitag.
Logged

Domiki86

  • Coppermine novice
  • *
  • Offline Offline
  • Posts: 23
Re: Input "Text" gegen Select tauschen
« Reply #8 on: June 07, 2016, 04:41:05 pm »

Vielen Dank.

Mach dir keinen Stress ich habe Zeit :)

Logged

Αndré

  • Administrator
  • Coppermine addict
  • ****
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 15363
Re: Input "Text" gegen Select tauschen
« Reply #9 on: June 16, 2016, 05:36:12 pm »

Finde
Code: [Select]
// If the type is not present, kill the script.und füge darüber folgendes ein:
Code: [Select]
                case 5 :
                    foreach ($element[3] as $option) {
                        $options .= "<option>{$option}</option>";
                    }

                    echo <<< EOT

                    <tr>
                        <td class="tableb" style="white-space: nowrap;">
                            {$element[0]}
                        </td>
                        <td width="100%" class="tableb" valign="top">
                            <select name="{$element[1]}" maxlength="255" class="listbox">{$options}</select>
                        </td>
                    </tr>
EOT;
                    break;

Um nun Feld 2 entsprechend zu ändern, suchst du
Code: [Select]
$form_array[] = array($CONFIG['user_field2_name'], 'user2', 0, 255, 1);und änderst es in
Code: [Select]
$form_array[] = array($CONFIG['user_field2_name'], 'user2', 5, array('', 'TABOR ELEKTRYCZNY', 'TABOR SPALINOWY', 'TABOR PAROWY'));
Dasselbe dann noch für Feld 5.
Logged
Pages: [1]   Go Up
 

Page created in 0.014 seconds with 21 queries.