ilch Forum » Allgemein » HTML, PHP, SQL,... » RSS Feed bei Downloads möglich ?

Geschlossen
  1. #1
    User Pic
    DragonLord2007 Mitglied
    Registriert seit
    27.04.2009
    Beiträge
    99
    Beitragswertungen
    0 Beitragspunkte
    Hi Liebes Team und Community !

    Wir würden gern für unseren Downloadbereich einen RSS Feed anbieten.

    Ist soetwas möglich ?
    Wenn ja wie ?

    SUFU: ohne ergebnis.


    MFG


    verwendete ilchClan Version: 1.1

    betroffene Homepage: externer Link


    Zuletzt modifiziert von DragonLord2007 am 22.06.2009 - 19:00:22
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    annemarie gelöschter User
    Ja, soetwas ist möglich.

    freue mich dir so schnell helfen gekonnt zu haben zwinker
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    DragonLord2007 Mitglied
    Registriert seit
    27.04.2009
    Beiträge
    99
    Beitragswertungen
    0 Beitragspunkte
    Ha Ha ^^

    Würde mich natürlich über eine anleitung freuen. (;
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    annemarie gelöschter User
    eigentlich wärs nur eine datei die die downloads ausliest und eine datei schreibt die andere dann aufrufen können

    feed.php
    // MYSQL Query auf die downloads
    
    //schreiben der file
    
    // redirect auf die file


    oder ohne file zu schreiben

    // MYSQL Query auf die downloads
    
    // ausgabe der einzelnen query results


    hab grad keinen bock dazu, vielleicht später, ich bin erstmal einkaufen.
    irgendwo habe ich auch noch so ein script rumliegen.
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    DragonLord2007 Mitglied
    Registriert seit
    27.04.2009
    Beiträge
    99
    Beitragswertungen
    0 Beitragspunkte
    Hat sonst noch wer ne idee ?


    MFG zwinker
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Chapter Hall Of Fame
    Registriert seit
    21.10.2007
    Beiträge
    5.951
    Beitragswertungen
    229 Beitragspunkte
    vom prinzip her hat annemarie dir ja gesagt wie es geht. versuch mal was eigenes, und wenn du nicht weiter kommst, poste hier deinen code. ich bin mir sicher das dir dann gleich mehrere zur hand gehen werden, wenn du es wenigstens selbst versuchst.
    Spamming, sinnlose Beiträge, Pushing, Doppelposting und Werbung sind verboten
    externer Link
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    DragonLord2007 Mitglied
    Registriert seit
    27.04.2009
    Beiträge
    99
    Beitragswertungen
    0 Beitragspunkte
    Ich hoffe dieser ist richtig include/contents/downloads.php


    <?php 
    #  Script Copyright by: Manuel Staechele
    #  Support: www.ilch.de
      
    #  Ueberarbeitung copyright by honklords.de
    #  erstellt von Topolino
    #  seite: www.honklords.de
     
    #  Support auf www.honklords.de 
    
    
    defined ('main') or die ( 'no direct access' );
    
    
    function get_cats_title ( $catsar ) {
      $l = '';
    	foreach($catsar as $k => $v) {
    	  if ( $k != '' AND $v != '' ) {
    		  $l = $v.' :: '.$l;
    		}
    	}
    	return ($l);
    }
    
    function get_cats_urls ( $catsar ) {
      $l = '';
    	foreach($catsar as $k => $v) {
    	  if ( $k != '' AND $v != '' ) {
    		  $l = '<a class="smalfont" href="?downloads-'.$k.'">'.$v.'</a><b> &raquo; </b>'.$l;
    		}
    	}
    	return ($l);
    }
    
    function get_cats_array ( $cid , $ar ) {
    	if ( empty($cid) ) {
    	  return ($ar);
    	} else { 
    	  $erg = db_query("SELECT cat,id,name FROM prefix_downcats WHERE id = ".$cid);
    		$row = db_fetch_assoc($erg);
    		$ar[$row['id']] = $row['name'];
    	  return ( get_cats_array($row['cat'],$ar) );
    	}
    	if ( $r ) {
    	  return ($l);
    	}
    }
    
    function get_download_size($file) {
      $sizes = array(" Bytes", " KB", " MB", " GB", " TB", " PB", " EB", " ZB", " YB");  
      $size = @filesize($file); if ($size == 0) { return('n/a'); } else {
      return (round($size/pow(1024, ($i = floor(log($size, 1024)))), 2) . $sizes[$i]); }
    }
    
    function count_files ($cid) {
      $zges = 0;
    	$e = db_query("SELECT id FROM prefix_downcats WHERE cat = ".$cid);
    	if ( db_num_rows($e) > 0 ) {
    	  while ($r = db_fetch_assoc($e) ) {
    	    $zges = $zges + count_files ( $r['id'] );
    	  }
    	}
    	$zges = $zges + db_count_query("SELECT COUNT(*) FROM prefix_downloads WHERE cat = ".$cid);
    	return ( $zges );
    }
    
    function icUpload () {
    	    
          $name = escape($_POST['name'],'string');
    	    $version = escape($_POST['version'],'string');
    	    $autor = escape($_POST['autor'],'string');
    	    $surl = escape($_POST['surl'],'string');
    	    $ssurl = escape($_POST['ssurl'],'string');
          $url = ( empty($_POST['url']) ? '' : escape($_POST['url'],'string') );
    	    $desc = escape($_POST['desc'],'string');
    	    $descl = escape($_POST['descl'],'textarea');
          
          if (empty($name)) {
            return ('keinen Namen angegeben.');
          }
    
          if (empty($desc) or empty($descl)) {
            return ('kein langer oder/und kein kurzer Text angegeben.');
          }
          
          if (empty($url) AND empty($_FILES['file']['name'])) {
            return ('Keine Datei oder Link angegeben.');
          }
      
    	    if (!empty ($_FILES['file']['name']) ) {
          
    		    $rtype = trim(ic_mime_type ($_FILES['file']['tmp_name']));
            $fname = escape($_FILES['file']['name'],'string');
            $fende = preg_replace("/.+\.([a-zA-Z]+)$/", "\\1", $fname);
            $fende = strtolower($fende);
            
    		    if ( $_FILES['file']['size'] > 2097000 ) { # 2 mb (2 097 152)
              return ('Die Datei darf NICHT gr&ouml;sser als 2 MBytes sein.');
            }
            
            if (
    		      ($fende != 'rar' AND $fende != 'zip' AND $fende != 'tar')
                       
              OR (
              $rtype != 'application/x-rar' AND
              $rtype != 'application/x-zip' AND
              $rtype != 'application/x-tar')
    
    		    ) {
              return ('Die Datei darf nur die Endungen: .zip, .tar oder .rar haben.');
            }
            
            $fname = str_replace ('.'.$fende, '', $fname);
            $fname = preg_replace("/[^a-zA-Z0-9]/", "", $fname);
            $fname = $fname.'.'.$fende;
            
            if (file_exists( 'include/downs/downloads/user_upload/'.$fname ) ) {
              return ('Die Datei existiert bereits und kann nicht &uuml;berschrieben werden.');
            }
            
            if ( move_uploaded_file($_FILES['file']['tmp_name'], 'include/downs/downloads/user_upload/'.$fname) ) {
              $url = 'include/downs/downloads/user_upload/'.$fname;
              @chmod($url, 0777);
    			  }
          }
            
          if (empty($url)) {
            return ('Keine Datei oder Link angegeben');
          }
            
          db_query("INSERT INTO prefix_downloads (`time`,`cat`,`creater`,`version`,`url`,surl,`ssurl`,`name`,`desc`,`descl`,pos) VALUES (NOW(),-1,'".$autor."','".$version."','".$url."','".$surl."','".$ssurl."','".$name."','".$desc."','".$descl."','0')");
            
          return (true);
    }
    
    switch ( $menu->get(1) ) {
      default :
    		$cid = ( $menu->get(1) ? escape($menu->get(1), 'integer') : 0 );
    		$erg = db_query("SELECT cat,name FROM prefix_downcats WHERE id = ".$cid." ORDER BY pos");
    		if ( db_num_rows($erg) > 0 ) {
    		  $row = db_fetch_assoc($erg);
    			$array = get_cats_array($row['cat'],'');
    			if ( !empty($array) ) {
    			  $titelzw = get_cats_title($array);
    			  $namezw = get_cats_urls($array);
    			} else {
    			  $titelzw = '';
    				$namezw = '';
    			}
    		  $cattitle = ':: '.$titelzw.$row['name'];
    			$catname = '<b> &raquo; </b>'.$namezw.$row['name'];	
    		} else {
    		  $cattitle = '';
    			$catname = '';
    		}
    		$title = $allgAr['title'].' :: Downloads '.$cattitle;
        $hmenu = '<a class="smalfont" href="?downloads">Downloads</a>'.$catname;
        $design = new design ( $title , $hmenu );
    	  $design->header();
    		$tpl = new tpl ('downloads' );
        require_once('include/contents/downloadsinfo.php');
        $tpl->set('cid', $cid);
        $erg = db_query("SELECT id,name,`desc` FROM prefix_downcats WHERE cat = ".$cid." AND recht >= ".$_SESSION['authright']." ORDER BY pos");
        if ( db_num_rows($erg) > 0 ) {
    		  $tpl->out(1); $class = 'Cnorm';
    			while ($row = db_fetch_assoc($erg) ) {
    			  $row['files'] = count_files($row['id']);
    			  $class = ( $class == 'Cmite' ? 'Cnorm' : 'Cmite' );
    				$row['class'] = $class;
    			  $tpl->set_ar_out($row,2);
          }
    		  $tpl->out(3);
    		}
    		
        # sortierung festlegen
        $sortierung = 'pos ASC';
        $DOM = 'ASC';
        $POM = 'ASC';
        $DAM = 'ASC';
        
        switch ($menu->get(2)) {
          case 'positionDESC' : $sortierung = 'pos DESC'; break;
          case 'positionASC' : $sortierung = 'pos ASC';  $POM = 'DESC'; break;
          case 'downsDESC' : $sortierung = 'downs DESC'; break;
          case 'downsASC' : $sortierung = 'downs ASC'; $DOM = 'DESC'; break;
          case 'dateDESC' : $sortierung = 'time DESC'; break;
          case 'dateASC' : $sortierung = 'time ASC'; $DAM = 'DESC'; break;
        }
    
        $tpl->set ('POM', $POM);
        $tpl->set ('DOM', $DOM);
        $tpl->set ('DAM', $DAM);
        
    		$erg = db_query("select id,name,version,ssurl,`desc`,downs,DATE_FORMAT(time,'%d.%m.%Y') as datum from prefix_downloads WHERE cat = ".$cid." ORDER BY ".$sortierung);
    		if ( db_num_rows($erg) > 0 ) {
    		  $tpl->out(4); $class = 'Cnorm';
    			while($row = db_fetch_assoc($erg) ) {
            # smal screenshot url
    				$row['ssurl'] = ( (file_exists($row['ssurl']) AND $row['ssurl'] != '') ? '<img src="'.$row['ssurl'].'" alt="'.$row['name'].' '.$row['version'].'" title="'.$row['name'].' '.$row['version'].'" style="float:left; border: none; padding-right:3px;" />' : '' );
            $class = ( $class == 'Cmite' ? 'Cnorm' : 'Cmite' );
    				$row['class'] = $class;
    			  $tpl->set_ar_out($row,5);
    			}
    			$tpl->out(6);
    		}
        
        if ( $cid == 0 AND $allgAr['archiv_down_userupload'] == 1 AND loggedin() AND is_writeable ( 'include/downs/downloads/user_upload' ) ) {
          $tpl->out(7);
        }
        
    		$design->footer();
    	  break;
    	case 'show' :
    	  
        $fid = escape($menu->get(2), 'integer');
        $erg = db_query("SELECT prefix_downloads.cat,ssurl,surl,url,hits,vote_klicks,vote_wertung,prefix_downloads.name,version,creater,downs,descl,drecht,prefix_downloads.id,DATE_FORMAT(time,'%d.%m.%Y') as datum FROM prefix_downloads LEFT JOIN prefix_downcats ON prefix_downcats.id = prefix_downloads.cat WHERE prefix_downloads.id = ".$fid." AND (".$_SESSION['authright']." <= prefix_downcats.recht OR (prefix_downloads.cat = 0 AND prefix_downcats.recht IS NULL))");    
        if (@db_num_rows($erg) <> 1) {
          $title = $allgAr['title'].' :: Downloads ';
          $hmenu = '<a class="smalfont" href="?downloads">Downloads</a>';
          $design = new design ( $title , $hmenu );
          $design->header();
          echo 'Der Download wurde nicht gefunden';
          $design->footer(1);
        }   
        
    		$row = db_fetch_assoc($erg);
        
        # umfrage einen hoch zaehlen ...
        if ( $menu->getA(3) == 'z' AND is_numeric($menu->getE(3)) AND !isset ($_SESSION['downDoVote'][$row['id']]) AND loggedin() ) {
          $_SESSION['downDoVote'][$row['id']] = 'o';
          $row['vote_wertung'] = round ( ( ( $row['vote_wertung'] * $row['vote_klicks'] ) + $menu->getE(3) ) / ( $row['vote_klicks'] + 1 ) , 3 ); 
          $row['vote_klicks']++;
          db_query("UPDATE prefix_downloads SET vote_wertung = ".$row['vote_wertung'].", vote_klicks = ".$row['vote_klicks']." WHERE id = ".$row['id']);
        }
        if ( !isset ($_SESSION['downDoKlick'][$row['id']]) ) {
          $_SESSION['downDoKlick'][$row['id']] = 'o';
          db_query("UPDATE prefix_downloads SET hits = hits +1 WHERE id = ".$fid);
        }
        
    		$cid = $row['cat'];
    		$erg1 = db_query("SELECT id,cat,name FROM prefix_downcats WHERE id = ".$cid);
    		if ( db_num_rows($erg1) > 0 ) {
    		  $row1 = db_fetch_assoc($erg1);
    			$array = get_cats_array($row1['cat'],'');
    			if ( !empty($array) ) {
    			  $titelzw = get_cats_title($array);
    			  $namezw = get_cats_urls($array);
    			} else {
    			  $titelzw = '';
    				$namezw = '';
    			}
    		  $cattitle = ':: '.$titelzw.$row1['name'].' :: '.$row['name'].' '.$row['version'];
    			$catname = '<b> &raquo; </b>'.$namezw.'<a class="smalfont" href="?downloads-'.$row1['id'].'">'.$row1['name'].'</a><b> &raquo; </b>'.$row['name'].' '.$row['version'];	
    		} else {
    		  $cattitle = '';
    			$catname = '';
    		}
    		$tpl = new tpl ('downloads_show' );
    		$drecht = $row['drecht'];
        if ( $_SESSION['authright'] <= $drecht ) {
    		$row['downlink'] = '<a href="index.php?downloads-down-'.$row['id'].'"><img src="include/images/buttons/download.gif" alt="Download" border="0"></a>';
    		} else {
    		$row['downlink'] = '<a href="index.php?downloads-error"><img src="include/images/buttons/download.gif" alt="Download" border="0"></a>'; 
    		}
        $row['ssurl'] = ( $row['ssurl'] != '' ? '<img src="'.$row['ssurl'].'" alt="'.$row['name'].' '.$row['version'].'" title="'.$row['name'].' '.$row['version'].'" style="float:left; border: none; padding-right:5px;" />' : '' );
        
        $row['surl']  = ( empty($row['surl']) ? '' : '&nbsp;&nbsp;&nbsp; <a href="'.$row['surl'].'" target="_blank"><img src="include/images/buttons/demo.gif" alt="Demo/Screenshot" border="0"></a>' );
    		
        $row['size']  = get_download_size($row['url']);
    		$row['descl'] = bbcode($row['descl']);
    		$row['version_kl'] = (empty($row['version'])?'':'('.$row['version'].')');
        $title = $allgAr['title'].' :: Downloads '.$cattitle;
        $hmenu = '<a class="smalfont" href="?downloads">Downloads</a>'.$catname;
        $design = new design ( $title , $hmenu );
    	  $design->header();
    		$tpl->set_ar_out($row,0);
        $design->footer();
    	  break;
    	case 'down' :
        $fid = $menu->get(2);
        $erg = db_query("SELECT drecht FROM prefix_downloads LEFT JOIN prefix_downcats ON prefix_downcats.id = prefix_downloads.cat WHERE prefix_downloads.id = ".$fid." AND (".$_SESSION['authright']." <= prefix_downloads.drecht OR (prefix_downloads.cat = 0 AND prefix_downcats.recht IS NULL))");    
        if (@db_num_rows($erg) <> 1) {
          $title = $allgAr['title'].' :: Downloads ';
          $hmenu = '<a class="smalfont" href="?downloads">Downloads</a>';
          $design = new design ( $title , $hmenu );
          $design->header();
          echo $lang['nopermission'];
          $design->footer(1);
        }   
     
        $recht = @db_result(db_query("SELECT `recht` FROM `prefix_downcats` LEFT JOIN `prefix_downloads` ON `prefix_downcats`.`id` = `prefix_downloads`.`cat` WHERE `prefix_downloads`.`id` = $fid"),0);
    	  $recht = (is_int($recht)?$recht:0);
        if (has_right($recht)) {
          $row = db_fetch_assoc(db_query("SELECT url FROM prefix_downloads WHERE id = ".$fid));
          $url = iurlencode($row['url']);
        } else {
          $url = 'http://'.$_SERVER["HTTP_HOST"].dirname($_SERVER["SCRIPT_NAME"]).'/index.php?downloads';
        }
    if( !isset( $_SESSION['downs'][$fid] ) ) { 
            db_query("UPDATE prefix_downloads SET downs = downs +1 WHERE id = ".$fid); 
            $_SESSION['downs'][$fid] = true; 
    }
    		header('location: '.$url);
    	  break;
      case 'upload' :
        if ( $allgAr['archiv_down_userupload'] == 1 AND loggedin() AND is_writeable ( 'include/downs/downloads/user_upload' ) ) {
          $title = $allgAr['title'].' :: Downloads :: User - Upload';
          $hmenu = '<a class="smalfont" href="?downloads">Downloads</a><b> &raquo; </b>User - Upload';
          $design = new design ( $title , $hmenu );
    	    $design->header();
          
          $re = icUpload(); 
    	    if ($re === true) {
            echo 'Erfolgreich eingetragen! ... ein Moderator oder Admin dieser Seite wird den Download in n&auml;chster Zeit freischalten.';
          } else {
            echo '<b>Error:</b><br />'.$re;
          }
          
          $design->footer();
        }
        break;
        case 'error' :
          $title = $allgAr['title'].' :: Downloads Error';
          $hmenu = '<a class="smalfont" href="?downloads">Downloads Error</a>';
          $design = new design ( $title , $hmenu );
          $design->header();
          echo '<table width="100%" class="border" border="0" cellspacing="2" cellpadding="3" align="center">
          <tr><td class="Chead" align="center"><b>Sie müssen <a href="/index.php?user-regist"><u>Regestriert</u></a> sein um diesen Download nutzen zu k&ouml;nnen.</b></td>
          </tr><tr class="Cdark"><td align="center"><a href="javascript:history.back();"><u>Zurück</u></a> oder <a href="/index.php"><u>Auf die Startseite</u></a></td></tr></table>';
          $design->footer();
       break;
    }
    ?>
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    DjGeCk0 Hall Of Fame
    Registriert seit
    01.05.2009
    Beiträge
    2.989
    Beitragswertungen
    96 Beitragspunkte
    kann man da nicht ein bestehendes RSS Modul umbauen damit die Daten von den Downoads. statt von den News ausgelesen werden ?

    sollte doch recht flott gehen

    ich schau im laufe des tages mal rein
    Alle Module von mir sind nun unter php-gecko.de erreichbar
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    DragonLord2007 Mitglied
    Registriert seit
    27.04.2009
    Beiträge
    99
    Beitragswertungen
    0 Beitragspunkte
    Habe ich schon dran gedacht, kann es aber leider nicht selbst umsetzen.

    Jo schau mal wieder rein bei uns.
    0 Mitglieder finden den Beitrag gut.
Geschlossen

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

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten