Advanced search  

News:

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

Pages: 1 [2]   Go Down

Author Topic: mehr profilfelder  (Read 11238 times)

0 Members and 1 Guest are viewing this topic.

ralf45_nrw

  • Coppermine regular visitor
  • **
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 56
Re: mehr profilfelder
« Reply #20 on: September 09, 2013, 10:02:51 pm »

hi an

super funktioniert.

lerne immer mehr dazu.

gruss ralf
Logged
coppermine 1.5.x

Αndré

  • Administrator
  • Coppermine addict
  • ****
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 15764
Re: mehr profilfelder
« Reply #21 on: September 18, 2013, 05:17:43 pm »

die abmessung des bildes soll eine bestimmte grösse haben z.b. 1, bild 800x300, 2. bild 300x400
Sind das jetzt schon die korrekten Größen? Breite x Höhe nehmen ich an?
Logged

ralf45_nrw

  • Coppermine regular visitor
  • **
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 56
Re: mehr profilfelder
« Reply #22 on: September 18, 2013, 10:35:46 pm »

hi andre,

ja bilder sind breite x höhe
1. bild 800x300
2. bild 350x600

gruss ralf
Logged
coppermine 1.5.x

Αndré

  • Administrator
  • Coppermine addict
  • ****
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 15764
Re: mehr profilfelder
« Reply #23 on: September 20, 2013, 02:55:20 pm »

Die Upload-Felder.

Schritt 0: make_form erweitern und Formularkodierung anpassen

Suche
Code: [Select]
        default:
            cpg_die(CRITICAL_ERROR, 'Invalid action for form creation ' . $element[0], __FILE__, __LINE__);
        }
und füge darüber folgendes ein
Code: [Select]
        case 'upload':

            $value = $form_data[$element[1]];

            if ($element[2]) {

                echo <<< EOT
    <tr>
        <td width="40%" class="{$cellStyle}" height="25" valign="top">
            {$element[2]}
        </td>
        <td width="60%" class="{$cellStyle}" valign="top">
            <input type="file" style="width: 100%" name="{$element[1]}" class="listbox" />
        </td>
    </tr>


EOT;
            }

            break;


Suche
Code: [Select]
<form name="cpgform" id="cpgform" method="post" action="{$CPG_PHP_SELF}">und ersetze es durch
Code: [Select]
<form name="cpgform" id="cpgform" method="post" action="{$CPG_PHP_SELF}" enctype="multipart/form-data">

Schritt 1: Frontend

Füge wie bereits beschrieben in der Nähe der anderen Zeilen mit
Code: [Select]
$edit_profile_form_param[]etwas in folgender Art hinzu
Code: [Select]
$edit_profile_form_param[] = array('upload', 'custom_upload_1', 'Upload 1');
$edit_profile_form_param[] = array('upload', 'custom_upload_2', 'Upload 2');


Schritt 2: Backend

Jetzt beginnt der Teil, der evtl. nicht deinen Vorstellungen entspricht. Wenn das Formular abgesendet wird, werden entweder neue Bilder mitgesendet oder "nichts". Wenn nichts mitgesendet wird, wird das ggf. bereits hochgeladene Bild weiter verwendet. Wenn etwas mitgesendet wird und es ein Bild mit den korrekten Abmessungen ist, wird ab sofort dieses Bild verwendet. Wenn es kein Bild ist oder die falschen Abmessungen hat, wird das ggf. bereits hochgeladene Bild weiter verwendet. Ein Bild löschen ist erstmal nicht möglich, können wir später ggf. noch einbauen.

Damit Coppermine etwas mit den Erweiterungen anzufangen weiß, suchen wir
Code: [Select]
    $profile6 = $superCage->post->getEscaped('user_profile6');und fügen danach folgenden Code ein:
Code: [Select]
    function custom_upload($custom_upload_x, $width, $height) {
        global $CONFIG;
        $superCage = Inspekt::makeSuperCage();
        if ($superCage->files->getRaw("/{$custom_upload_x}/tmp_name") && is_image($superCage->files->getRaw("/{$custom_upload_x}/name"))) {
            $uploaded_file = $CONFIG['fullpath'].$CONFIG['userpics'].'user_'.USER_ID.'_'.$custom_upload_x.'.png';
            if (move_uploaded_file($superCage->files->getRaw("/{$custom_upload_x}/tmp_name"), $uploaded_file.'_tmp')) {
                $imagesize = cpg_getimagesize($uploaded_file.'_tmp');
                if ($imagesize[0] == $width && $imagesize[1] == $height) {
                    rename($uploaded_file.'_tmp', $uploaded_file);
                } else {
                    unlink($uploaded_file.'_tmp');
                }
            }
        }
    }
    custom_upload('custom_upload_1', 800, 300);
    custom_upload('custom_upload_2', 350, 600);


Schritt 3: Daten im öffentlichen Profil anzeigen

Suche
Code: [Select]
if ($CONFIG['user_profile6_name'] != '') {
    $display_profile_form_param[] = array('text', 'user_profile6', $CONFIG['user_profile6_name']);
}
unter füge darunter folgendes ein:
Code: [Select]
$display_profile_form_param[] = array('text', 'custom_upload_1', 'Upload 1');
$display_profile_form_param[] = array('text', 'custom_upload_2', 'Upload 2');

Suche
Code: [Select]
        'user_profile6' => bb_decode($user_data['user_profile6']),und füge darunter folgendes ein:
Code: [Select]
        'custom_upload_1' => custom_image('custom_upload_1'),
        'custom_upload_2' => custom_image('custom_upload_2'),

Jetzt fügst du vor dem darüberstehenden
Code: [Select]
$form_data = array(noch folgende Funktion hinzu:
Code: [Select]
    function custom_image($img) {
        global $CONFIG;
        $superCage = Inspekt::makeSuperCage();
        $user_id = $superCage->get->getInt('uid');
        $img = $CONFIG['fullpath'].$CONFIG['userpics'].'user_'.$user_id.'_'.$img.'.png';
        if (file_exists($img)) {
            return "<img class=\"image\" src=\"{$img}\" />";
        } else {
            return false;
        }
    }
Logged

ralf45_nrw

  • Coppermine regular visitor
  • **
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 56
Re: mehr profilfelder
« Reply #24 on: September 20, 2013, 11:43:54 pm »

hi andre,

super es funktioniert.
wie ich die größe ändern kann weiß ich die muss ich später so anpassen dami es ins profil passt.

nur ist es dumm das man nur .png hochladen kann wäre gut wen man auch noch .jpg hochladen könnte.

und wen man später die auch löschen könnte.

DANKE erst mal super leistung.


gruss ralf
Logged
coppermine 1.5.x

Αndré

  • Administrator
  • Coppermine addict
  • ****
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 15764
Re: mehr profilfelder
« Reply #25 on: September 21, 2013, 11:50:22 pm »

Du kannst auch andere Bilddateien hochladen. Der Einfachheit halber werden aber alle als .png abgespeichert. Ist unsauber, sollte aber trotzdem ohne Probleme funktionieren.
Logged

ralf45_nrw

  • Coppermine regular visitor
  • **
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 56
Re: mehr profilfelder
« Reply #26 on: September 22, 2013, 02:01:18 pm »

hi andre,

dann muss ich das script noch mal kontrolieren.

wollte .jpg hochladen hat er nicht genommen, habe das bild dann in .png gespeichet und dann hochgeladen das ging ohne probleme.

gruss ralf
Logged
coppermine 1.5.x

Αndré

  • Administrator
  • Coppermine addict
  • ****
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 15764
Re: mehr profilfelder
« Reply #27 on: September 22, 2013, 07:24:10 pm »

wollte .jpg hochladen hat er nicht genommen
Bitte genauer erläutern. Kam eine Fehlermeldung oder wird das Bild einfach nicht angezeigt?
Logged

ralf45_nrw

  • Coppermine regular visitor
  • **
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 56
Re: mehr profilfelder
« Reply #28 on: September 24, 2013, 02:14:59 pm »

hallo andre,

lag an mir hatte versucht eine falche größe hochzuladen.

wer lesen kann ist klar im vorteil.


gruss ralf
Logged
coppermine 1.5.x

Αndré

  • Administrator
  • Coppermine addict
  • ****
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 15764
Re: mehr profilfelder
« Reply #29 on: October 14, 2013, 04:25:08 pm »

Sind wir hiermit eigentlich durch, oder ist noch irgendwas offen?
Logged

ralf45_nrw

  • Coppermine regular visitor
  • **
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 56
Re: mehr profilfelder
« Reply #30 on: October 14, 2013, 04:31:50 pm »

hi,

mit den feldern soweit alles ok.

gruss ralf
Logged
coppermine 1.5.x
Pages: 1 [2]   Go Up
 

Page created in 0.039 seconds with 19 queries.