ilch Forum » Allgemein » HTML, PHP, SQL,... » Menu-Objekt Problem

Geschlossen
  1. #1
    User Pic
    corian Entwickler
    Registriert seit
    16.06.2011
    Beiträge
    1.096
    Beitragswertungen
    122 Beitragspunkte
    Hey Leute. Ich habe hier einer erweiterte gallery wo leider der Button fehlte um die Beschreibung zu ändern. Jetzt habe ich versucht dieses selbst zu ändern mit Hilfe von diesem Post www.ilch.de/forum-showposts-35393.html Leider ruft er mir nicht die Seite auf wo ich die Beschreibung ändern kann. ich denke es liegt an den Menu-Objekten das ich da etwas nicht verstanden habe. Die Docu www.ilch.de/doku-entwickler11.html#templates habe ich schon gelesen aber ich werde nicht ganz schlau daraus zunge

    Hoffe mal ihr könnt mir helfen.

    Hier mal meine usergallery.php

    <?php
    #   Copyright by: Manuel
    #   Support: www.ilch.de
    
    
    defined ('main') or die ( 'no direct access' );
    
    
    if ($allgAr['forum_usergallery'] == 0) { exit(); }
    
    $uid = escape($menu->get(2), 'integer');
    $img_per_site = $allgAr['gallery_imgs_per_site'];
    $img_per_line = $allgAr['gallery_imgs_per_line'];
    
    # zeige alle gallery
    if (empty($uid)) {
    
      $title = $allgAr['title'].' :: Users :: Gallery';
      $hmenu  = $extented_forum_menu.'<a class="smalfont" href="?user">Users</a><b> &raquo; </b>Gallery'.$extented_forum_menu_sufix;
      $design = new design ( $title , $hmenu, 1);
      $design->header();
      $i = 0;
      $class = 'Cmite';
      $x = '';
      if (loggedin()) {
        $x .= '<a href="index.php?user-usergallery-'.$_SESSION['authid'].'">Meine Gallery</a><br /><br />';
      }
      $erg = db_query("SELECT uid, prefix_user.name as uname, COUNT(*) as anz FROM prefix_usergallery LEFT JOIN prefix_user ON prefix_usergallery.uid = prefix_user.id GROUP BY uid, uname ORDER BY anz DESC");
      while ($r = db_fetch_assoc($erg)) {
        $class = ( $class == 'Cmite' ? 'Cnorm' : 'Cmite' );
        $x .= '<div class="'.$class.'" style="float: left; padding: 5px;"><a href="index.php?user-usergallery-'.$r['uid'].'">'.$r['uname'].'</a><br /><span class="smalfont">Anzahl Bilder: '.$r['anz'].'</span></a></div>';
        if ( $i <> 0 AND ($i % 5 ) == 0 ) { $x .= '<br />'; }
      }
      $tpl = new tpl ( 'user/gallery');
      $tpl->set_out('x',$x,4);
      $design->footer();
     exit();
    }
    
    
    # user gallery zeigen
    $uname = db_result(db_query("SELECT name FROM prefix_user WHERE id = ".$uid),0,0);
    
    $title = $allgAr['title'].' :: Users :: Gallery';
    $hmenu  = $extented_forum_menu.'<a class="smalfont" href="index.php?user">Users</a><b> &raquo; </b><a class="smalfont" href="?user-usergallery">Gallery</a><b> &raquo; </b>von <a class="smalfont" href="?user-usergallery-'.$uid.'">'.$uname.'</a>'.$extented_forum_menu_sufix;
    $design = new design ( $title , $hmenu, 1);
    $design->header();
    
    
    
    $tpl = new tpl ('user/gallery');
    $tpl->set('uid', $uid);
    $tpl->set('uname', $uname);
    
    # bild loeschen...
    if ($menu->getA(3) == 'd' AND is_numeric($menu->getE(4)) AND loggedin() AND (is_siteadmin() OR $uid == $_SESSION['authid'])) {
      $delid = escape($menu->getE(4), 'integer');
      $x = @db_result(db_query("SELECT endung FROM prefix_usergallery WHERE uid = ".$uid." AND id = ".$delid),0,0);
      if (!empty($x)) {
        @unlink ( 'include/images/usergallery/img_thumb_'.$delid.'.'.$x );
        @unlink ( 'include/images/usergallery/img_'.$delid.'.'.$x );
        @unlink ( 'include/images/usergallery/img_norm'.$delid.'.'.$x );
        @db_query("DELETE FROM prefix_usergallery WHERE uid = ".$uid." AND id = ".$delid);
        @db_query("DELETE FROM prefix_koms WHERE uid = ".$delid." AND cat = 'USERGIMG'");
      }
    }
    
    
    
    
    #/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    #
    # beschreibung ändern
    if ($menu->get(5) == 'edit' && is_numeric($menu->get(9)) && loggedin() && (is_siteadmin() OR $uid == $_SESSION['authid'])  ) {
       
      $title = $allgAr['title'].' :: Users :: Gallery :: Beschreibung ver&auml;ndern    ';
      $hmenu  = $extented_forum_menu.'<a class="smalfont" href="?user">Users</a><b> &raquo; </b>Gallery<b> &raquo; </b>Beschreibung ver&auml;ndern ';
      $design = new design ( $title , $hmenu, 1);
      $design->header();
     
      $query = db_query("SELECT DISTINCT `besch`,`id` FROM `prefix_usergallery` WHERE id = '".intval($menu->get(3))."'");
      $q = db_fetch_row($query);
      
      $info = '';
      $editok = false;
      if ( isset($_POST['beschsubedit']) && isset($_POST['gid']) ) {
          if (empty($_POST['txt']) ) {
              $info = 'Bitte gebe einen <b>Text</b> ein.<br />';
          } else {
              db_query("UPDATE `prefix_usergallery` SET besch  = '" . escape($_POST['txt'], 'string') . "' WHERE id = '" . escape($_POST['gid'], 'integer') . "' LIMIT 1");
              $editok = true;
          } 
      }
      
        if ($editok === true ) {
           wd ('?user-usergallery-'.$_SESSION['authid'],'Erfolgreich ge&auml;ndert');
        } elseif (db_num_rows($query) == 0) {
           echo 'Die angeforderte Seite wurde nicht gefunden.';
        } else {    
          $tpl = new tpl ('user/gallery');
          $ar = array ('TXT'  => $q['0'], 'ID' => $q['1'], 'INFO' => $info, 'USERID' => $_SESSION['authid']);
          $tpl->set_ar_out($ar,5);
        }
         
        $design->footer();  
     exit();
    }
    #/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    #
    # bild hochladen
    if (!empty($_FILES['file']['name']) AND is_writeable('include/images/usergallery') AND loggedin() AND $uid == $_SESSION['authid'] AND substr ( ic_mime_type($_FILES['file']['tmp_name']) , 0 , 6 ) == 'image/') {
      require_once('include/includes/func/gallery.php');
      $size = @getimagesize ($_FILES['file']['tmp_name']);
      $fende = preg_replace("/.+\.([a-zA-Z]+)$/", "\\1", $_FILES['file']['name']);
      $fende = strtolower($fende);
      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')) {
        $name = $_FILES['file']['name'];
        $tmp = explode('.',$name);
        $tm1 = count($tmp) -1;
        $endung = escape($tmp[$tm1], 'string');
        unset($tmp[$tm1]);
        $name = escape(implode('',$tmp), 'string');
        $besch = escape($_POST['text'], 'string');
        $tags = escape($_POST['tags'], 'string');
        $id = db_result(db_query("SHOW TABLE STATUS FROM `". DBDATE ."` LIKE 'prefix_usergallery'"),0,'Auto_increment');
        $bild_url = 'include/images/usergallery/img_'.$id.'.'.$endung;
        if (@move_uploaded_file ($_FILES['file']['tmp_name'], $bild_url)) {
          @chmod($bild_url, 0777);
          db_query("INSERT INTO prefix_usergallery (uid,name,endung,besch,tags) VALUES (".$uid.",'".$name."','".$endung."','".$besch."','".$tags."')");
          $bild_thumb = 'include/images/usergallery/img_thumb_'.$id.'.'.$endung;
          $bild_norm  = 'include/images/usergallery/img_norm_'.$id.'.'.$endung;
          create_thumb ($bild_url, $bild_norm , ($allgAr['gallery_normal_width']-64));
          create_thumb ($bild_url, $bild_thumb, $allgAr['gallery_preview_width']);
          @chmod($bild_thumb, 0777);
          @chmod($bild_norm, 0777);
          echo '<b>Datei '.$name.'.'.$endung.' erfolgreich hochgeladen</b><br />';
          $page = $_SERVER["HTTP_HOST"]. dirname($_SERVER["SCRIPT_NAME"]);
          echo 'Bildlink: <a target="_blank" href="http://'.$page.'/'.$bild_url.'">http://'.$page.'/'.$bild_url.'</a><br />';
          echo 'Oder klein: <a target="_blank" href="http://'.$page.'/'.$bild_thumb.'">http://'.$page.'/'.$bild_thumb.'</a><br /><br />';
        }
      }
    }
    
    if ($menu->get(3) == 'show' && is_numeric($menu->get(4)) ) {
        $picid = escape($menu->get(4), 'integer');
        $q = db_query("SELECT `a`.`name`, `a`.`besch`, `a`.`endung`, `a`.`id` AS `id`, `a`.`uid` AS `uid`, `b`.`name` AS `uname`
                       FROM `prefix_usergallery` AS `a`
                       LEFT JOIN `prefix_user` `b` ON `a`.`uid` = `b`.`id`
                       WHERE `a`.`id` = ".$picid);
        if ( db_num_rows($q) > 0 ) {
          $r = db_fetch_assoc($q);
    
           if ($r['uid'] == $menu->get(2)) {
              #comment eintragen
              $insertmsg = '';
              if ((loggedin() or isset($_POST['name'])) and !empty($_POST['text']) and $antispam = chk_antispam('usergallery')) {
                 if (loggedin()) {
                    $name = $_SESSION['authname'];
                 } else {
                    $name = escape($_POST['name'],'string');
                    if (db_count_query('SELECT COUNT(*) FROM `prefix_user` WHERE `name` = "'.$name.'"')) {
                      $insertmsg .= 'Der Name ist bereits für einen registrierten User vergeben';
                    }
                 }
                 if (empty($insertmsg)) {
                   $text = escape($_POST['text'],'string');
                   db_query("INSERT INTO `prefix_koms` (`name`,`text`,`uid`,`cat`) VALUES ('".$name."','".$text."',".$r['id'].",'USERGIMG')");
                   if ($r['uid'] != $_SESSION['authid'] && true) {
                      $host = '[url]http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'].'?user-usergallery-'.$r['uid'].'-show-'.$r['id'].'[/url]';
                      $text = "Hallo %s!\n\n %s hat einen Kommentar zu einem Bild ( %s ) geschrieben.\nUm direkt zu dem Foto zu kommen, nutze einfach den unten stehenden Link:\n%s\n\n Viel Spaß!";
                      $ttext = sprintf($text,$r['uname'],$_SESSION['authname'],$r['besch'],$host);
                      sendpm (1, $r['uid'], 'Neue Kommentare zu Deinen Bildern',$ttext, -1);
                   }
                 }
    
              } elseif (isset($_POST['subugalkom']) and !$antispam) {
                $insertmsg .= 'Falscher Antispam';
              }
    
              #comment loeschen
              if (isset($_GET['delete']) && ( is_siteadmin() or $r['uid'] == $_SESSION['authid'] ) ) {
                db_query("DELETE FROM `prefix_koms` WHERE `id` = ".escape($_GET['delete'], 'integer'));
              }
    
              #comment zeigen
              if (!empty($insertmsg)) {
                $insertmsg = '<span style="color:red;">'.$insertmsg.'</span><br />';
              }
    
              $pAr = array();
              $picQ = db_query("SELECT `id` FROM `prefix_usergallery` WHERE `uid` = ".$r['uid']." ORDER BY `id` DESC");
              while ($picr = db_fetch_assoc($picQ)) {
                  $pAr[] = $picr['id'];
              }
              $picArKey = array_search($r['id'], $pAr);
              $prevPicId = ($picArKey > 0) ? $pAr[$picArKey - 1] : false;
              $nextPicId = ($picArKey < (count($pAr) - 1)) ? $pAr[$picArKey + 1] : false;
              $prevLink = !is_bool($prevPicId) ? '<a href="index.php?user-usergallery-'.$r['uid'].'-show-'.$prevPicId.'">&laquo; Vorheriges Bild</a>' : '';
              $nextLink = !is_bool($nextPicId) ? '<a href="index.php?user-usergallery-'.$r['uid'].'-show-'.$nextPicId.'">N&auml;chstes Bild &raquo;</a>' : '';
    
    
              $path = 'include/images/usergallery/';
              $exNorm = ( file_exists($path.'img_norm_'.$r['id'].'.'.$r['endung']) ? true : false );
              $ar = array (
                     'besch'      => $r['besch'],
                     'tags'      => $r['tags'],
                     'endung'     => $r['endung'],
                     'img'        => ( $exNorm ? 'img_norm_'.$r['id'].'.'.$r['endung'] : 'img_'.$r['id'].'.'.$r['endung']),
                     'style'      => ( $exNorm ? '' : ' style="width:'. ($allgAr['gallery_normal_width']-64) .'px;"'),
                     'id'         => $r['id'],
                     'userid'     => $r['uid'],
                     'uname'      => $_SESSION['authname'],
                     'antispam'   => get_antispam('usergallery', 0),
                     'text'       => ( isset($_POST['text']) && !$antispam ? escape($_POST['text'],'string') : '' ),
                     'insertmsg'  => $insertmsg,
                     'nextpic'    => $nextLink,
                     'prevpic'    => $prevLink
               );
              $tpl->set_ar_out($ar,5);
    
              $class = 'Cnorm';
              $erg = db_query("SELECT `id`, `name`, `text` FROM `prefix_koms` WHERE `uid` = ".$r['id']." AND `cat` = 'USERGIMG' ORDER BY `id` DESC");
              while ($row = db_fetch_assoc($erg)) {
                $class = ($class == 'Cmite' ? 'Cnorm' : 'Cmite');
                $row['class'] = $class;
                $row['text'] = bbcode ($row['text']);
                if (is_siteadmin() OR $r['uid'] == $_SESSION['authid']) {
                   $row['text'] .= '<a href="index.php?user-usergallery-'.$r['uid'].'-show-'.$r['id'].'&amp;delete='.$row['id'].'"><img src="include/images/icons/del.gif" border="0" title="l&ouml;schen" alt="l&ouml;schen" /></a>';
                }
                $tpl->set_ar_out($row,6);
              }
              $tpl->out(7);
    
           } else {
              echo 'Es ist ein Fehler aufgetreten.';
           }
        } else {
          echo 'Es ist ein Fehler aufgetreten.';
        }
    
    } else {
    # bilder abfragen
        $limit = $img_per_site;
        $page = ($menu->getA(3) == 'p' ? $menu->getE(3) : 1 );
        $MPL = db_make_sites ($page , '' , $limit , 'index.php?user-usergallery-'.$uid , "usergallery WHERE uid = ".$uid);
        $anfang = ($page - 1) * $limit;
            $erg = db_query("SELECT `a`.*, `a`.`id` AS `id`, `a`.`uid` AS `picuid`, count(`b`.`id`) AS `comms`
                             FROM `prefix_usergallery` AS `a`
                             LEFT JOIN `prefix_koms` AS `b` ON `b`.`uid` = `a`.`id` AND `b`.`cat` = 'USERGIMG'
                             WHERE `a`.`uid` = ".$uid." GROUP BY `a`.`id`, `a`.`besch`, `a`.`name`
                             ORDER BY `a`.`id` DESC LIMIT ".$anfang.",".$limit);
    
        $tpl->set('imgperline', $allgAr['gallery_imgs_per_line']);
        $tpl->set('MPL',$MPL);
        $tpl->out(0); $class = 'Cnorm';
        $i = 0;
        if ( db_num_rows($erg) > 0 ) {
                while($row = db_fetch_assoc($erg) ) {
                    $class = ( $class == 'Cmite' ? 'Cnorm' : 'Cmite' );
                    $row['class'] = $class;
            $row['besch'] = unescape($row['besch']);
            if (loggedin() AND (is_siteadmin() OR $uid == $_SESSION['authid'])) {
              $row['besch'] .= '<br/><a href="index.php?user-usergallery-'.$uid.'-p'.$page.'-d'.$row['id'].'"><img src="include/images/icons/del.gif" border="0" alt="l&ouml;schen" title="l&ouml;schen" /></a>&nbsp;<a href="index.php?user-usergallery-'.$uid.'-edit-'.$row['id'].'"><img src="include/images/icons/edit.gif" border="0" alt="bearbeiten" title="bearbeiten" /></a>';
            }
            $row['width'] = round( 100 / $img_per_line );
            if ( $i <> 0 AND ($i % $img_per_line ) == 0 ) { echo '</tr><tr>'; }
                  $tpl->set_ar_out($row,1);
            $i++;
                }
          if ( $i % $img_per_line <> 0 ) {
            $anzahl = $img_per_line - ($i % $img_per_line);
            for($x=1;$x<=$anzahl;$x++){
              echo '<td class="'.$class.'"></td>';
            }
          }
        }
        $tpl->out(2);
    # bilder abfragen
    
    
    # bild hochladen
    if (is_writeable('include/images/usergallery') AND loggedin() AND $uid == $_SESSION['authid']) {
      $tpl->out(3);
    }
    }
    
    $design->footer();
    ?>



    Hier meine gallery.htm

    <table width="100%">
      <tr>
            <td align="center"><b>{uname}</b></td>
        </tr>
      <tr>
      {EXPLODE}
         <td  width="{width}%" valign="top" align="center">
           <table>
             <tr>
               <td><a href="index.php?user-usergallery-{uid}-show-{id}"><img src="include/images/usergallery/img_thumb_{id}.{endung}" alt="{name}" title="{name}" /></a></td>
             </tr>
           </table>
           {besch} <br />
           <span class="smalfont">{comms} {_if_{comms}=='1'}{_lang_comment}{_else_}{_lang_comments}{/_endif} </span>
         </td>
       {EXPLODE}
      </tr>
    </table>
    <center>{MPL}</center>
    {EXPLODE}
    
    <br /><br />
    <form action="index.php?user-usergallery-{uid}" method="post" enctype="multipart/form-data">
      <input type="hidden" name="gesendet" value="yes" />
      <fieldset>
        <legend><b>{_lang_pictureupload}</b></legend>
            <input type="file" size="40" name="file" style="margin-top:5px;" />
          <input size="60" name="text" maxlength="255" style="margin-top:5px;" /><br />
         Tags <input size="60" name="tags" maxlength="255" style="margin-top:5px;" /><br />
    
          <input type="submit" value="{_lang_formsub}" style="margin-top:5px;" />
    
    
      </fieldset>
    </form>
    
    {EXPLODE}
    {x}
    {EXPLODE}
    <table width="100%"  border="0" cellspacing="1" cellpadding="3">
      <tr>
        <td>
          <div align="left">
            <table width="100%" border="0" cellpadding="0" cellspacing="1" class="border">
              <tr><td width="440"><a href="include/images/usergallery/img_{id}.{endung}" target="_blank"><img src="include/images/usergallery/{img}" {style} border="0" /></a></td>
              <td width="100%"  style="vertical-align:top"><strong>{_lang_desc}:</strong> {besch}</td></tr>
            </table>
          </div>
          <div style="padding:8px 2px 8px 2px; font-weight:bold;">
          <div style="float:left;">{prevpic}</div>
          <div style="float:right;">{nextpic}</div>
        </div>
        <br />
        <table  border="0" cellspacing="1" cellpadding="3" width="100%">
          <tr>
    
          </tr>
        </table>
        <br />
        <table  border="0" cellspacing="1" cellpadding="3" width="100%">
          <tr>
            <td><strong>{_lang_comments}:</strong></td>
          </tr>
            <td>
        <form action="index.php?user-usergallery-{userid}-show-{id}" method="post">
          {insertmsg}<input type="text" name="name" value="{uname}" /><br />
          <textarea cols="50" rows="2" name="text">{text}</textarea><br />
          {antispam}<input type="submit" name="subugalkom" value="{_lang_formsub}">
        </form>
            </td>
          </tr>
        </table>
        <br />
        <table border="0" cellspacing="1" cellpadding="3" width="100%">
          {EXPLODE}<tr>
            <td class="{class}"><b>{name}:</b> &nbsp; {text}</td></tr>
          {EXPLODE}
        </table>
        </td>
      </tr>
    </table>
    {EXPLODE}{x}
    {EXPLODE}<!-- beschreibung ändern --->
    <form method="POST" name="form" action="index.php?user-usergallery-{USERID}-edit-{ID}">
    <input type="hidden" name="gid" value="{ID}">
    <table width="100%" class="border" border="0" cellspacing="1" cellpadding="3">
      <tr class="Chead">
            <td><b>Beschreibung ver&auml;ndern</b></td>
        </tr>
      <tr>
         <td class="Cnorm" valign="top"> 
    {INFO}
    <textarea style="width: 98%" rows="4" name="txt" >{TXT}</textarea>
    <br />
    <br />
    <input type="submit" name="beschsubedit" value="&Auml;ndern" />
    </td>
      </tr>
    </table>
    </form>



    Zuletzt modifiziert von corian am 17.01.2013 - 16:13:57
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    corian Entwickler
    Registriert seit
    16.06.2011
    Beiträge
    1.096
    Beitragswertungen
    122 Beitragspunkte
    So, hat sich erledigt. Jetzt funktioniert alles.;)


    Zuletzt modifiziert von corian am 18.01.2013 - 21:07:10
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    Thema erledigt
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten