ilch Forum » Ilch Clan 1.1 » Module und Modifikationen » Autor-Avatar in den News

Geschlossen
  1. #1
    User Pic
    Kruemelkeks Mitglied
    Registriert seit
    20.10.2005
    Beiträge
    584
    Beitragswertungen
    0 Beitragspunkte
    Moin,

    für die damalige 1.0.5'er gabs mal was in der Art: nämlich das Avatar-Bild des News-Autor's mit in die news.htm einzubauen..

    Wäre echt nett, wenn jemand 'ne Idee für den php-Code für die news.php hat.

    Habs bisher mit dem hier versucht
    $avatar = '';
    if ( file_exists($row['avatar'])) {
      $avatar = '<img src="'.$row['avatar'].'" border="0">';
    }

    und dann in der news.htm versucht mit {avatar} den Ava anzeigen zu lassen..

    Auch mit anderen Änderungen hab ich's nich geschafft ):

    Danke zwinker
    Kruemel


    verwendete ilchClan Version: 1.1
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    HeX Hall Of Fame
    Registriert seit
    14.01.2006
    Beiträge
    2.113
    Beitragswertungen
    1 Beitragspunkte
    ich hatte das problem auch mal, und hatte damals prompt ein modul gemacht. pixelbash.de/index.php?downloads-show-14

    schaue lieber in den quelltext und schaue dir an wie ich das gelößt habe, oder gleich installieren... solltest es halt nur an die aktuelle version anpassen... habe es schon lange nicht mehr geupdated.
    Discite moniti!
    www.pixelbash.de
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Kruemelkeks Mitglied
    Registriert seit
    20.10.2005
    Beiträge
    584
    Beitragswertungen
    0 Beitragspunkte
    Habs hinbekommen aber jetzt bekomme ich - sobald ich eingeloggt bin - auf der Newsseite diesen Error:

    MySQL Error:
    1054 : Unknown column 'uid' in 'where clause'
    in Query:
    SELECT avatar FROM ic1_user WHERE uid = 11
    
    Debug backtrace:
    	@ mysql.php:32 -- debug_bt()
    	@ mysql.php:50 -- db_check_error(...)
    	@ news.php:127 -- db_query(...)
    	@ index.php:24 -- require_once(...)
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    uid -> id
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Kruemelkeks Mitglied
    Registriert seit
    20.10.2005
    Beiträge
    584
    Beitragswertungen
    0 Beitragspunkte
    Danke, hat geklappt zwinker
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    OloX Hall Of Fame
    Registriert seit
    25.02.2006
    Beiträge
    990
    Beitragswertungen
    23 Beitragspunkte
    hey Kruemelkeks,
    sorry bissel spät aber ich habe das jetzt neu für Ilch 1.1 K geschrieben zwinker Man kann es einfach mit {avatar} oder wenn man die News liest mit {AVATAR} im Template ausgeben. Man kommt auch mit ein klick auf das Bild zu den dementsprechenden User Profil.
    <?php
    #   Copyright by: Manuel
    #   Support: www.ilch.de
    
    
    defined ('main') or die ( 'no direct access' );
    
    
    
    $title = $allgAr['title'].' :: News';
    $hmenu = 'News';
    $design = new design ( $title , $hmenu );
    $design->addheader('<link rel="alternate" type="application/atom+xml" title="News (Atom)" href="index.php?news-atom" />
    <link rel="alternate" type="application/rss+xml" title="News (RSS)" href="index.php?news-rss" />');
    
    function news_find_kat ($kat) {
    
    		$katpfad = 'include/images/news/';
    		$katjpg = $katpfad.$kat.'.jpg';
    		$katgif = $katpfad.$kat.'.gif';
    		$katpng = $katpfad.$kat.'.png';
    
    		if ( file_exists( $katjpg ) ) {
    		  $pfadzumBild = $katjpg;
    		} elseif ( file_exists ( $katgif ) ) {
    		  $pfadzumBild = $katgif;
    		} elseif ( file_exists ( $katpng ) ) {
    		  $pfadzumBild = $katpng;
    		}
    
    		if ( !empty( $pfadzumBild ) ) {
    			$kategorie = '<img style="" src="'.$pfadzumBild.'" alt="'.$kat.'">';
    		} else {
    		  $kategorie = '<b>'.$kat.'</b><br /><br />';
    		}
    
    		return ( $kategorie );
    }
    
    
    
    if ( !is_numeric($menu->get(1)) )  {
      if($menu->get(1) == 'rss' || $menu->get(1) == 'atom')
      {
          #ob_clean();
          $feed_type = $menu->get(1);
    
        $abf = "SELECT MAX(news_time) AS last_update FROM prefix_news";
        $erg = db_query($abf);
        $row = db_fetch_assoc($erg);
        $last_update = str_replace(' ', 'T', $row['last_update']) . 'Z';
    
        $abf = "SELECT
          a.news_title as title,
          a.news_id as id,";
        $abf .= ($feed_type == 'atom') ? 'a.news_time as datum,' : "DATE_FORMAT(a.news_time,'%a, %e %b %y %H:%i:%s') as datum,";
        $abf .=
         "a.news_kat as kate,
          a.news_text as text,
          b.name as username	  
        FROM prefix_news as a
        LEFT JOIN prefix_user as b ON a.user_id = b.id
        WHERE a.news_recht = 0
        ORDER BY news_time DESC LIMIT 15";
        $erg = db_query($abf);
        $tpl = new tpl( 'news_'.$menu->get(1).'.htm' );
    
        header('Content-type: application/' . $menu->get(1)  . '+xml');
    
        $tpl->set_ar_out(array('FEEDTITLE' => $allgAr['title'],
                               'UPDATED' => $last_update,
                               'SITEURL' => 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF'])), 0);
        while ($row = db_fetch_assoc($erg))
        {
          if($feed_type == 'atom')
          {
              $row['datum'] = str_replace(' ', 'T', $row['datum']) . 'Z';
          }
    
          $a = explode('[PREVIEWENDE]', $row['text']);
          $tpl->set_ar_out(array('TITLE' => $row['title'],
                                 'TXT' => bbcode($a[0]),
                                 'LINK' => 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']). '/index.php?news-' . $row['id'],
                                 'AUTHOR' => $row['username'],
                                 'DATE' => $row['datum']
                                 ), 1);
        }
        $tpl->out(2);
        exit;
      }
      else
      {
        $design->header();
        $limit = $allgAr['Nlimit'];
        $page = ( $menu->getA(1) == 'p' ? $menu->getE(1) : 1 );
        $MPL = db_make_sites ($page , "WHERE news_recht >= ".$_SESSION['authright'] , $limit , '?news' , 'news' );
        $anfang = ($page - 1) * $limit;
    
        $tpl = new tpl ( 'news.htm' );
    
        $abf = "SELECT
          a.news_title as title,
          a.news_id as id,
          DATE_FORMAT(a.news_time,'%d. %m. %Y') as datum,
          DATE_FORMAT(a.news_time,'%W') as dayofweek,
          a.news_kat as kate,
          a.news_text as text,
          b.name as username,
    	  b.avatar as avatar,
    	  b.id as userid	  
        FROM prefix_news as a
        LEFT JOIN prefix_user as b ON a.user_id = b.id
        WHERE ".$_SESSION['authright']." <= a.news_recht
           OR a.news_recht = 0
        ORDER BY news_time DESC
        LIMIT ".$anfang.",".$limit;
        #echo '<pre>'.$abf.'</pre>';
    
        $erg = db_query($abf);
        while ($row = db_fetch_assoc($erg)) {
    
          $k0m  = db_query("SELECT COUNT(ID) FROM `prefix_koms` WHERE uid = ".$row['id']." AND cat = 'NEWS'");
          $row['kom']  = db_result($k0m,0);
    
          $row['kate'] = news_find_kat($row['kate']);
          if ( !empty($row['avatar']) ) {
    	  $row['avatar'] = '<a href="index.php?user-details-'.$row['userid'].'"><img src="'.$row['avatar'].'" border="0" alt="'.$row['username'].'" title="'.$row['username'].'"></a>';
    	  } else {
    	  $row['avatar'] = 'n/a';
    	  }	  
          $row['datum'] = $lang[$row['dayofweek']].' '.$row['datum'];
          if ( strpos ( $row['text'] , '[PREVIEWENDE]' ) !== FALSE ) {
            $a = explode('[PREVIEWENDE]' , $row['text']);
            $row['text'] = $a[0];
            $row['readwholenews'] = '&raquo; <a href="index.php?news-'.$row['id'].'">'.$lang['readwholenews'].'</a>  &laquo;';
          } else {
            $row['readwholenews'] = '';
          }
          $row['text'] = bbcode($row['text']);
          $tpl->set_ar_out($row,0);
        }
        $tpl->set_out('SITELINK', $MPL,1);
        unset($tpl);
      }
    
    
    
    } else {
    
     $design->header();
     $nid = escape($menu->get(1), 'integer');
     $row = db_fetch_object(db_query("SELECT
          a.news_title,
          a.news_id,
          DATE_FORMAT(a.news_time,'%d. %m. %Y') as datum,
          DATE_FORMAT(a.news_time,'%W') as dayofweek,
          a.news_kat,
          a.news_text,
    	  a.news_recht,
          b.name as username,
    	  b.avatar as avatar,
    	  b.id as userid
    	  FROM prefix_news as a
          LEFT JOIN prefix_user as b ON a.user_id = b.id	  
          WHERE a.news_id = '".$nid."'"));
    
        if ( !empty($row->avatar) ) {    
    	   $avatar = '<a href="index.php?user-details-'.$row->userid.'"><img src="'.$row->avatar.'" border="0" alt="'.$row->username.'" title="'.$row->username.'"></a>';
        } else {
           $avatar = 'n/a';
    	}	
      
      if ( has_right(array($row->news_recht)) ) {
        $komsOK = true;
    	  if ( $allgAr['Ngkoms'] == 0 ) {
          if ( loggedin() ) {
            $komsOK = true;
      		} else {
    	  	  $komsOK = false;
    		  }
        }
    	  if ( $allgAr['Nukoms'] == 0 ) {
    	    $komsOK = false;
    	  }
    
        # kommentar add
      	if ( (loggedin() OR chk_antispam ('newskom')) AND $komsOK AND !empty($_POST['name']) AND !empty($_POST['txt']) ) {
          $_POST['txt'] = escape($_POST['txt'],'string');
    		  $_POST['name'] = escape($_POST['name'],'string');
          db_query("INSERT INTO `prefix_koms` (`uid`,`cat`,`name`,`text`) VALUES (".$nid.",'NEWS','".$_POST['name']."','".$_POST['txt']."')");
    	  }
    	  # kommentar add
    
        # kommentar loeschen
        if ($menu->getA(2) == 'd' AND is_numeric($menu->getE(2)) AND has_right(-7, 'news')) {
          $kommentar_id = escape($menu->getE(2),'integer');
          db_query("DELETE FROM prefix_koms WHERE uid = ".$nid." AND cat = 'NEWS' AND id = ".$kommentar_id);
        }
        # kommentar loeschen
        $kategorie = news_find_kat($row->news_kat);
    		
    		$textToShow = bbcode($row->news_text);
    		$textToShow = str_replace('[PREVIEWENDE]','',$textToShow);
    		if ( !empty($such) ) {
    		  $textToShow = markword($textToShow,$such);
    		}
    
    		$tpl = new tpl ( 'news.htm' );
    		$ar = array (
          'TEXT'  => $textToShow,
    	  'AVATAR' => $avatar,
    			'KATE'  => $kategorie,
          'NID' => $nid,
          'uname' => $_SESSION['authname'],
    			'ANTISPAM' => (loggedin()?'':get_antispam ('newskom', 0)),
    			'NAME'  => $row->news_title
    		);
    		$tpl->set_ar_out($ar, 2 );
    
    		if ($komsOK) {
    		  $tpl->set_ar_out ( array ( 'NAME' => $row->news_title , 'NID' => $nid ), 3 );
    		}
        $erg1 = db_query("SELECT text, name, id FROM `prefix_koms` WHERE uid = ".$nid." AND cat = 'NEWS' ORDER BY id DESC");
    		$ergAnz1 = db_num_rows($erg1);
    		if ( $ergAnz1 == 0 ) {
    		  echo '<b>'.$lang['nocomments'].'</b>';
    		} else {
    		  $zahl = $ergAnz1;
    		  while ($row1 = db_fetch_assoc($erg1)) {
            $row1['text'] = bbcode(trim($row1['text']));
            if (has_right(-7, 'news')) {
              $row1['text'] .= '<a href="?news-'.$nid.'-d'.$row1['id'].'"><img src="include/images/icons/del.gif" alt="l&ouml;schen" border="0" title="l&ouml;schen" /></a>';
            }
            $tpl->set_ar_out( array('NAME' => $row1['name'], 'TEXT' => $row1['text'], 'ZAHL' => $zahl ) , 4 );
            $zahl--;
    		  }
        }
    	}
      $tpl->out(5);
    }
    
    $design->footer();
    
    ?>

    MfG OloX


    Zuletzt modifiziert von OloX am 29.08.2009 - 15:07:27
    PHP, JavaScript, CSS
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Chester Mitglied
    Registriert seit
    17.02.2009
    Beiträge
    753
    Beitragswertungen
    19 Beitragspunkte
    Hi,

    der thread ist schon urst alt aber ich hab da eine Frage.

    ich habe die news.php einfach mal mit der von olox ersetzt aber wenn ich nun den Avatar ausgeben will kommt nur n/a aber es ist ja ein Avatar vorhanden. woran kann das liegen?
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    OloX Hall Of Fame
    Registriert seit
    25.02.2006
    Beiträge
    990
    Beitragswertungen
    23 Beitragspunkte
    Hey Chester,
    also der Code funzt zu 100%, Link zur Seite ?

    MfG OloX
    PHP, JavaScript, CSS
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Chester Mitglied
    Registriert seit
    17.02.2009
    Beiträge
    753
    Beitragswertungen
    19 Beitragspunkte
    hat sich erledigt hab was anderes gefunden lachen
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Module und Modifikationen

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten