Hier kann eine Notiz zum Merk-Eintrag hinzugefügt werden (optional)
| [ Anmelden zum schreiben ] |
| Galerie Upload in fixe Kategorie? | |||
|---|---|---|---|
| School Mitglied
Posts: 23 |
Gibt es eine Möglichkeit das Modul Galerie Upload 1.1 (www.ilch.de/downloads-show-1558.html) so zu modifizieren, dass der Upload der Bilder nur in eine bestimmte Kategorie der Gallerie (welche durch den Admin vorher bestimmt wird) möglich ist?
Soweit ich das sehe, stehen aktuell alle Kategorien zur Auswahl. |
||
| oink ForenTroll
Posts: 727 |
ja, das kann man programmieren, die möglichkeit existiert.
before creation there must be destruction |
||
| School Mitglied
Posts: 23 |
Könnte mir dabei evtl. jemand behilflich sein? Ich selbst bin da nämlich auf fremde Hilfe angewiesen.
Es würde mir reichen, dass die galleryupl.php nur dahingehend verändert wird, dass immer nur fix eine Kategrie der Galerie adressiert werden kann. Ich möchte auf unser kleinen Community-Page eine Bilder-Rubrik "Quer Beet" einrichten, in die User ihre eigenen Bilder uploaden können. In andere existierende Kategrien sollen die User keine Uploadmöglichkeit haben. Also kann die Kategorie-Bezeichnung "Quer Beet" auch ruhig direkt in die galleryupl.php eingearbeitet werden. www.bolzplatz-gelbes-elend.de.vu/ |
||
| Lord|Schirmer Administrator
Posts: 4606 |
Grundsätzlich die Katagorie beim Datenbank-Eintrag vorgeben!
zB. Kategorie 11 db_query("INSERT INTO xic_gallery_imgs (cat,datei_name,endung,besch) VALUES (11,'".$name."','".$endung."','".$besch."')");"In mir schlummert ein Genie, leider wacht es nicht auf!" my portfolio | my community | important link |
||
| School Mitglied
Posts: 23 |
Vielen Dank - für's Erste^^
Nun läd er immer in die richtige Kategorie. Nur werden in der galleryupl.htm noch immer alle Kategorien angezeigt, kann ich dor nur die gewünsche anzeigen lassen? Zuletzt modifiziert von School am 22.11.2011 - 19:35:46 |
||
| Lord|Schirmer Administrator
Posts: 4606 |
Einfach die Ausgabe / Option entfernen!
Im Notfall die Datei posten. "In mir schlummert ein Genie, leider wacht es nicht auf!" my portfolio | my community | important link |
||
| School Mitglied
Posts: 23 |
Problem ist, dass man zwingend eine Kategorie wählen muss, damit eine Upload möglich ist. Welche man wählt, ist egal - die Datei landet dann immer z.B. in der 11.
Also wäre es sehr komforabel, wenn man nur die Kategorien auswählen könnte, in die der Upload "erlaubt" ist. Hier die Passage für das Auslesen: // Link Kategorien auslesen
function gallery_showcats ( $id , $stufe )
{
global $cats;
$q = "SELECT * FROM xic_gallery_cats WHERE cat = ".$id." AND recht >= ".$_SESSION['authright']." ORDER BY pos";
$erg = db_query($q);
if ( db_num_rows($erg) > 0 )
{
while ($row = db_fetch_object($erg) )
{
$cats .= '<option value="'.$row->id.'">'.$stufe.$row->name.'</option>';
gallery_showcats($row->id, substr_replace($stufe, ' ', 0, 12).' – ' );
}
}
} |
||
| Lord|Schirmer Administrator
Posts: 4606 |
Der ID die Zahl zuweisen oder besser noch, die Auswahl entfernen! Poste im Notfall die Datei!
"In mir schlummert ein Genie, leider wacht es nicht auf!" my portfolio | my community | important link |
||
| School Mitglied
Posts: 23 |
Sry für meine späte Antwort, aber ich komme leider nicht klar.
Wenn ich die ganze Passage // Link Kategorien auslesen lösche, bekomme ich die Fehlermeldung: Fatal error: Call to undefined function gallery_showcats() in /usr/export/www/vhosts/funnetwork/hosting/school10/include/contents/galleryupl.php on line 79 Wo kann ich der ID die Zahl zuweisen? Hier die ganze Datei und besten Dank für Deine Hilfe: <?php
# Copyright by Lord|Schirmer
# Support www.ilch.de
# Galerie Upload 1.1
defined ('main') or die ( 'no direct access' );
require_once('include/includes/func/gallery.php');
// Titel & Header
$title = $allgAr['title'].' :: Galleryupload ';
$hmenu = 'Galleryupload';
$design = new design ( $title , $hmenu );
$design->header();
if (loggedin()) {
$tpl = new tpl ( 'galleryupl.htm' );
// Link Kategorien auslesen
function gallery_showcats ( $id , $stufe )
{
global $cats;
$q = "SELECT * FROM xic_gallery_cats WHERE cat = ".$id." AND recht >= ".$_SESSION['authright']." ORDER BY pos";
$erg = db_query($q);
if ( db_num_rows($erg) > 0 )
{
while ($row = db_fetch_object($erg) )
{
$cats .= '<option value="'.$row->id.'">'.$stufe.$row->name.'</option>';
gallery_showcats($row->id, substr_replace($stufe, ' ', 0, 12).' – ' );
}
}
}
// Bilder in eine Kategorie hochladen
if (isset($_POST['hochladen']) AND $_POST['hochladen'] == 'yes')
{
$_POST['besch'] = escape($_POST['besch'], 'string');
$_POST['cat'] = escape($_POST['cat'], 'integer');
$fehler = '';
if ($_POST['cat']=='0') { $fehler .= '⋅ Es wurde keine Bildkategorie ausgewählt<br>'; }
if (empty($_FILES['file']['name'])) { $fehler .= '⋅ Es wurde keine Bildquelle ausgewählt<br>'; }
if (empty($_POST['besch'])) { $fehler .= '⋅ Es wurde keine Bildbeschreibung angegeben<br>'; }
if (chk_antispam('galleryupl') != true){ $fehler .= '⋅ Bitte geben Sie den gültigen Antispam-Code ein.<br>'; }
if (!empty($_FILES['file']['name']) AND empty($fehler))
{
$fende = preg_replace("/.+\.([a-zA-Z]+)$/", "\\1", $_FILES['file']['name']);
$fende = $endung = strtolower($fende);
$name = substr($_FILES['file']['name'],0,-1*(strlen($fende)+1));
$size = @getimagesize ($_FILES['file']['tmp_name']);
if (!empty($_FILES['file']['name']) AND $size[0] > 10 AND $size[1] > 10
AND ($size[2] == 2 OR $size[2] == 3 OR $size[2] == 1)
AND ($fende == 'gif' OR $fende == 'jpg' OR $fende == 'jpeg' OR $fende == 'png'))
{
$id = db_result(db_query("SHOW TABLE STATUS FROM `". DBDATE ."` LIKE 'xic_gallery_imgs'"),0,'Auto_increment');
$bild_url = 'include/images/gallery/img_'.$id.'.'.$endung;
if (@move_uploaded_file ($_FILES['file']['tmp_name'], $bild_url))
{
db_query("INSERT INTO xic_gallery_imgs (cat,datei_name,endung,besch)
VALUES (73,'".$name."','".$endung."','".$_POST['besch']."')");
$bild_thumb = 'include/images/gallery/img_thumb_'.$id.'.'.$endung;
$bild_norm = 'include/images/gallery/img_norm_'.$id.'.'.$endung;
create_thumb ($bild_url, $bild_thumb, $allgAr['gallery_preview_width']);
create_thumb ($bild_url, $bild_norm , $allgAr['gallery_normal_width']);
wd('index.php?gallery-'.$_POST['cat'].'','Das Bild '.$name.'.'.$endung.' wurde erfolgreich hochgeladen!<br />Du wirst nun zur Galerie geleitet.',3);
}
else
{
$fehler .= '⋅ Die Datei '.$name.'.'.$endung.' konnte nicht hochgeladen werden!<br />';
}
}
else
{
$fehler .= '⋅ Die Datei '.$name.'.'.$endung.' hat keines der unterstützten Bildformate gif, jpg, jpeg oder png<br />';
}
}
// Fehler Ausgabe
if($fehler) {
gallery_showcats (0,'• ');
$fehler = substr($fehler, 0, -4);
$tpl->set('fehler', '<u>Fehlerinfo:</u><br>'.$fehler.'<br><br>');
$tpl->set('cat', '<option value="0">Kategorie auswählen</option>'.$cats);
$tpl->set('besch', $_POST['besch']);
$tpl->set('ANTISPAM', get_antispam('gallerupl', 1));
$tpl->out(0); }
}
else
{
// Leeres Formular
gallery_showcats (0,'• ');
$ar = array (
'fehler' => '',
'cat' => '<option value="0">Kategorie auswählen</option>'.$cats,
'besch' => '',
'ANTISPAM' => get_antispam ('galleryupl', 1),
);
$tpl->set_ar_out($ar,0);
}
} else {
wd('index.php?user-login','Der Galleryupload ist nur für angemeldete User gedacht!<br />Du wirst nun zur Anmeldung geleitet.',3);
}
$design->footer();
?> |
||
| Lord|Schirmer Administrator
Posts: 4606 |
Ich habe es mal umgeschrieben, aber nicht getestet:
<?php
# Copyright by Lord|Schirmer
# Support www.ilch.de
# Galerie Upload 1.1
defined ('main') or die ( 'no direct access' );
require_once('include/includes/func/gallery.php');
// Titel & Header
$title = $allgAr['title'].' :: Galleryupload ';
$hmenu = 'Galleryupload';
$design = new design ( $title , $hmenu );
$design->header();
if (loggedin()) {
$tpl = new tpl ( 'galleryupl.htm' );
// ID der Uploadgallery angeben
$gallery_id = 11;
// Link Kategorien auslesen
function gallery_showcat ( $id )
{
global $cat;
$erg = db_query("SELECT * FROM prefix_gallery_cats WHERE cat = ".$id);
$cat = '<option value="'.$row->id.'">'.$row->name.'</option>';
}
// Bilder in eine Kategorie hochladen
if (isset($_POST['hochladen']) AND $_POST['hochladen'] == 'yes')
{
$_POST['besch'] = escape($_POST['besch'], 'string');
$_POST['cat'] = escape($_POST['cat'], 'integer');
$fehler = '';
if ($_POST['cat']=='0') { $fehler .= '⋅ Es wurde keine Bildkategorie ausgewählt<br>'; }
if (empty($_FILES['file']['name'])) { $fehler .= '⋅ Es wurde keine Bildquelle ausgewählt<br>'; }
if (empty($_POST['besch'])) { $fehler .= '⋅ Es wurde keine Bildbeschreibung angegeben<br>'; }
if (chk_antispam('galleryupl') != true){ $fehler .= '⋅ Bitte geben Sie den gültigen Antispam-Code ein.<br>'; }
if (!empty($_FILES['file']['name']) AND empty($fehler))
{
$fende = preg_replace("/.+\.([a-zA-Z]+)$/", "\\1", $_FILES['file']['name']);
$fende = $endung = strtolower($fende);
$name = substr($_FILES['file']['name'],0,-1*(strlen($fende)+1));
$size = @getimagesize ($_FILES['file']['tmp_name']);
if (!empty($_FILES['file']['name']) AND $size[0] > 10 AND $size[1] > 10
AND ($size[2] == 2 OR $size[2] == 3 OR $size[2] == 1)
AND ($fende == 'gif' OR $fende == 'jpg' OR $fende == 'jpeg' OR $fende == 'png'))
{
$id = db_result(db_query("SHOW TABLE STATUS FROM `". DBDATE ."` LIKE 'prefix_gallery_imgs'"),0,'Auto_increment');
$bild_url = 'include/images/gallery/img_'.$id.'.'.$endung;
if (@move_uploaded_file ($_FILES['file']['tmp_name'], $bild_url))
{
db_query("INSERT INTO prefix_gallery_imgs (cat,datei_name,endung,besch)
VALUES (73,'".$name."','".$endung."','".$_POST['besch']."')");
$bild_thumb = 'include/images/gallery/img_thumb_'.$id.'.'.$endung;
$bild_norm = 'include/images/gallery/img_norm_'.$id.'.'.$endung;
create_thumb ($bild_url, $bild_thumb, $allgAr['gallery_preview_width']);
create_thumb ($bild_url, $bild_norm , $allgAr['gallery_normal_width']);
wd('index.php?gallery-'.$_POST['cat'].'','Das Bild '.$name.'.'.$endung.' wurde erfolgreich hochgeladen!<br />Du wirst nun zur Galerie geleitet.',3);
}
else
{
$fehler .= '⋅ Die Datei '.$name.'.'.$endung.' konnte nicht hochgeladen werden!<br />';
}
}
else
{
$fehler .= '⋅ Die Datei '.$name.'.'.$endung.' hat keines der unterstützten Bildformate gif, jpg, jpeg oder png<br />';
}
}
// Fehler Ausgabe
if($fehler) {
gallery_showcat ( $gallery_id );
$fehler = substr($fehler, 0, -4);
$tpl->set('fehler', '<u>Fehlerinfo:</u><br>'.$fehler.'<br><br>');
$tpl->set('cat', $cat);
$tpl->set('besch', $_POST['besch']);
$tpl->set('ANTISPAM', get_antispam('gallerupl', 1));
$tpl->out(0); }
}
else
{
// Leeres Formular
gallery_showcat ( $gallery_id );
$ar = array (
'fehler' => '',
'cat' => $cat,
'besch' => '',
'ANTISPAM' => get_antispam ('galleryupl', 1),
);
$tpl->set_ar_out($ar,0);
}
} else {
wd('index.php?user-login','Der Galleryupload ist nur für angemeldete User gedacht!<br />Du wirst nun zur Anmeldung geleitet.',3);
}
$design->footer();
?>
Zuletzt modifiziert von Lord|Schirmer am 03.12.2011 - 11:18:15 "In mir schlummert ein Genie, leider wacht es nicht auf!" my portfolio | my community | important link |
||
| School Mitglied
Posts: 23 |
Es fordert zwingend, dass eine Gallery ausgewählt wird
Zuletzt modifiziert von School am 03.12.2011 - 17:56:33 |
||
| Lord|Schirmer Administrator
Posts: 4606 |
Gib mir mal noch das Template dazu dann passe ich es ohne OPTIONSFELD an!
"In mir schlummert ein Genie, leider wacht es nicht auf!" my portfolio | my community | important link |
||
| School Mitglied
Posts: 23 |
Ist noch komplett das originale Template. Hier ist es:
<form action="index.php?galleryupl" method="POST" enctype="multipart/form-data">
<input type="hidden" name="hochladen" value="yes" />
<table width="100%" class="border" cellpadding="3" cellspacing="1" border="0">
<tr class="Chead">
<td colspan="2"><b>Ein Bild in die Galerie laden</b></td>
</tr>
<tr class="Chead">
<td colspan="2">{fehler}</td>
</tr>
<tr>
<td width="30%" class="Cmite">Kategorie</td>
<td width="70%" class="Cnorm"><select style="width: 100%" name="cat">{cat}</select></td>
</tr>
<tr>
<td width="30%" class="Cmite">Link</td>
<td width="70%" class="Cnorm"><input type="file" name="file" /></td>
</tr>
<tr>
<td width="30%" class="Cmite">Beschreibung</td>
<td width="70%" class="Cnorm"><input style="width: 100%" type="text" name="besch" value="{besch}" /></td>
</tr>
<tr>
<td colspan="2" align="center" class="smalfont"><i>Bitte nur einmal auf Absenden klicken, Upload dauert kurz!<br>Information über den Status folgt automatisch!</i></td>
</tr>
{ANTISPAM}
<tr class="Cdark">
<td width="30%"></td>
<td width="70%"><input type="submit" value="Absenden" /></td>
</tr>
</table>
</form>
Zuletzt modifiziert von School am 03.12.2011 - 19:24:47 |
||
| Lord|Schirmer Administrator
Posts: 4606 |
So ... probier es mal!
<?php
# Copyright by Lord|Schirmer
# Support www.ilch.de
# Galerie Upload 1.1
defined ('main') or die ( 'no direct access' );
require_once('include/includes/func/gallery.php');
// Titel & Header
$title = $allgAr['title'].' :: Galleryupload ';
$hmenu = 'Galleryupload';
$design = new design ( $title , $hmenu );
$design->header();
if (loggedin()) {
$tpl = new tpl ( 'galleryupl.htm' );
// ID der Uploadgallery angeben
$gallery_id = 73;
//
$erg = db_query("SELECT name FROM prefix_gallery_cats WHERE cat = ".$gallery_id);
$catname = $row->name;
// Bilder in eine Kategorie hochladen
if (isset($_POST['hochladen']) AND $_POST['hochladen'] == 'yes')
{
$_POST['besch'] = escape($_POST['besch'], 'string');
$fehler = '';
if (empty($_FILES['file']['name'])) { $fehler .= '⋅ Es wurde keine Bildquelle ausgewählt<br>'; }
if (empty($_POST['besch'])) { $fehler .= '⋅ Es wurde keine Bildbeschreibung angegeben<br>'; }
if (chk_antispam('galleryupl') != true){ $fehler .= '⋅ Bitte geben Sie den gültigen Antispam-Code ein.<br>'; }
if (!empty($_FILES['file']['name']) AND empty($fehler))
{
$fende = preg_replace("/.+\.([a-zA-Z]+)$/", "\\1", $_FILES['file']['name']);
$fende = $endung = strtolower($fende);
$name = substr($_FILES['file']['name'],0,-1*(strlen($fende)+1));
$size = @getimagesize ($_FILES['file']['tmp_name']);
if (!empty($_FILES['file']['name']) AND $size[0] > 10 AND $size[1] > 10
AND ($size[2] == 2 OR $size[2] == 3 OR $size[2] == 1)
AND ($fende == 'gif' OR $fende == 'jpg' OR $fende == 'jpeg' OR $fende == 'png'))
{
$id = db_result(db_query("SHOW TABLE STATUS FROM `". DBDATE ."` LIKE 'prefix_gallery_imgs'"),0,'Auto_increment');
$bild_url = 'include/images/gallery/img_'.$id.'.'.$endung;
if (@move_uploaded_file ($_FILES['file']['tmp_name'], $bild_url))
{
db_query("INSERT INTO prefix_gallery_imgs (cat,datei_name,endung,besch)
VALUES ('".$gallery_id."','".$name."','".$endung."','".$_POST['besch']."')");
$bild_thumb = 'include/images/gallery/img_thumb_'.$id.'.'.$endung;
$bild_norm = 'include/images/gallery/img_norm_'.$id.'.'.$endung;
create_thumb ($bild_url, $bild_thumb, $allgAr['gallery_preview_width']);
create_thumb ($bild_url, $bild_norm , $allgAr['gallery_normal_width']);
wd('index.php?gallery-'.$_POST['cat'].'','Das Bild '.$name.'.'.$endung.' wurde erfolgreich hochgeladen!<br />Du wirst nun zur Galerie geleitet.',3);
}
else
{
$fehler .= '⋅ Die Datei '.$name.'.'.$endung.' konnte nicht hochgeladen werden!<br />';
}
}
else
{
$fehler .= '⋅ Die Datei '.$name.'.'.$endung.' hat keines der unterstützten Bildformate gif, jpg, jpeg oder png<br />';
}
}
// Fehler Ausgabe
if($fehler) {
$fehler = substr($fehler, 0, -4);
$tpl->set('fehler', '<u>Fehlerinfo:</u><br>'.$fehler.'<br><br>');
$tpl->set('cat', $catname);
$tpl->set('besch', $_POST['besch']);
$tpl->set('ANTISPAM', get_antispam('gallerupl', 1));
$tpl->out(0); }
}
else
{
// Leeres Formular
$ar = array (
'fehler' => '',
'cat' => $catname,
'besch' => '',
'ANTISPAM' => get_antispam ('galleryupl', 1),
);
$tpl->set_ar_out($ar,0);
}
} else {
wd('index.php?user-login','Der Galleryupload ist nur für angemeldete User gedacht!<br />Du wirst nun zur Anmeldung geleitet.',3);
}
$design->footer();
?>
<form action="index.php?galleryupl" method="POST" enctype="multipart/form-data">
<input type="hidden" name="hochladen" value="yes" />
<table width="100%" class="border" cellpadding="3" cellspacing="1" border="0">
<tr class="Chead">
<td colspan="2"><b>Ein Bild in die Galerie laden</b></td>
</tr>
<tr class="Chead">
<td colspan="2">{fehler}</td>
</tr>
<tr>
<td width="30%" class="Cmite">Kategorie</td>
<td width="70%" class="Cnorm">{cat}</td>
</tr>
<tr>
<td width="30%" class="Cmite">Link</td>
<td width="70%" class="Cnorm"><input type="file" name="file" /></td>
</tr>
<tr>
<td width="30%" class="Cmite">Beschreibung</td>
<td width="70%" class="Cnorm"><input style="width: 100%" type="text" name="besch" value="{besch}" /></td>
</tr>
<tr>
<td colspan="2" align="center" class="smalfont"><i>Bitte nur einmal auf Absenden klicken, Upload dauert kurz!<br>Information über den Status folgt automatisch!</i></td>
</tr>
{ANTISPAM}
<tr class="Cdark">
<td width="30%"></td>
<td width="70%"><input type="submit" value="Absenden" /></td>
</tr>
</table>
</form>
Zuletzt modifiziert von Lord|Schirmer am 03.12.2011 - 19:34:00 "In mir schlummert ein Genie, leider wacht es nicht auf!" my portfolio | my community | important link |
||
| School Mitglied
Posts: 23 |
Funzt perfekt - danke an den Fachmann! Hat mir sehr geholfen.
|
||
| [ Anmelden zum schreiben ] |