ilch Forum » Ilch Clan 1.1 » Kritik und Verbesserungen » Benachrichtigung bei user upload

Geschlossen
  1. #1
    User Pic
    Sony Mitglied
    Registriert seit
    05.10.2007
    Beiträge
    146
    Beitragswertungen
    0 Beitragspunkte
    Wenn ein User eine Datei hochläd, muss diese vom Admin freigegeben werden, allerdings bekommt dieser keine Benachrichtigung (PN oder E-Mail) und somit weiß der Admin gar nicht, dass es eine neue Datei gibt!

    Gibt es hierfür eine Lösung, weil so kann dies ja ewig dauern bis die Datei freigegeben wird zwinker
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.635
    Beitragswertungen
    1193 Beitragspunkte
    Ich würde halt in der verantwortlichen php sendpm einfügen!
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Sony Mitglied
    Registriert seit
    05.10.2007
    Beiträge
    146
    Beitragswertungen
    0 Beitragspunkte
    Könntest Du mir hierbei helfen?
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.635
    Beitragswertungen
    1193 Beitragspunkte
    Jo, ich werde es mal versuchen!

    Diese Funktion solltest Du da einbinden, wo der Datenbankeintrag gemacht wird!

    sendpm ($sid,$eid,$betreff,$text,[$status])

    $sid = Userid des Senders
    $eid = Userid des Empfängers
    $betreff = Betreff der eMail
    $text = Text/Body der eMail
    $status = Status über Zustand (gelesen/gelöscht)
    -1 Posteingang des Empängers/gelöscht beim Sender
    0 Posteingang des Empängers/Postausgang beim Sender (Standard)
    1 gelöscht beim Empänger/Postausgang beim Sender

    Beispiel:
    sendpm($uid,1,'Userupload!','Ein User hat etwas geuploadet! Bitte den Upload hier [url=index.php?uploadseite]Uploadseite[/url] prüfen!',-1);


    Wobei $uid als Absender noch definiert werden sollte und der Link eingerichtet werden müsste! Die PM bekommt nun der Admin mit der 1.

    Ich kenne jetzt die Modifikation nicht, falls Du damit nicht zurecht kommst, vielleicht mal die upload Datei posten!
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Sony Mitglied
    Registriert seit
    05.10.2007
    Beiträge
    146
    Beitragswertungen
    0 Beitragspunkte
    Vielen Dank für die Lösung. Habe mich die Tage mal versucht, aber ich bekomme einfach keine PM. Der Link passt so. Brauche keinen direkten Link und userID passt ebenfalls! Hier mal die Datei:

    <?php 
    #   Copyright by: Manuel
    #   Support: www.ilch.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);
    	}
    {
    sendpm($uid,1,'Userupload!','Ein User hat etwas geuploadet! Bitte den Upload hier [url=index.php?downloads]Uploadseite[/url] prüfen!',-1);
    }
    
    }
    
    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' AND $fende != 'pdf')
                       
              OR (
              $rtype != 'application/x-rar' AND
              $rtype != 'application/x-zip' AND
    	  	  $rtype != 'application/x-object' AND
              $rtype != 'application/x-tar')
    
    		    ) {
              return ('Die Datei darf nur die Endungen: .zip, .tar, .pdf 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' );
        $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,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' );
    		$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">Demo/Screenshot</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);
        $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';
        }
        db_query("UPDATE prefix_downloads SET downs = downs +1 WHERE id = ".$fid);
    		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! Der Download wird durch einen Administrator gepr&uuml;ft und anschließend freigeschalten.';
          } else {
            echo '<b>Error:</b><br />'.$re;
          }
          
          $design->footer();
        }
        break;
    }
    ?>
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Akira Mitglied
    Registriert seit
    25.01.2007
    Beiträge
    1.369
    Beitragswertungen
    1 Beitragspunkte
    haste auch falsch gesetzt


    packs genau unter

     echo 'Erfolgreich eingetragen! Der Download wird durch einen Administrator gepr&uuml;ft und anschließend freigeschalten.';


    die zeile dan gehts auch zwinker


    Zuletzt modifiziert von Akira am 04.03.2009 - 17:24:50
    externer Link Visit Us zwinker
    Neue Scripte: JQuery Login usw... Turnier(externer Link Multi-Bewertung, Refferer, Forum Upload, E-Mail login
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Sony Mitglied
    Registriert seit
    05.10.2007
    Beiträge
    146
    Beitragswertungen
    0 Beitragspunkte
     $re = icUpload(); 
    	    if ($re === true) {
            echo 'Erfolgreich eingetragen! Der Download wird durch einen Administrator des Musikvereins Kuppingen gepr&uuml;ft und anschließend freigeschalten.';
    		sendpm($uid,1,'Userupload!','Ein User hat etwas geuploadet! Bitte den Upload hier [url=index.php?download]Uploadseite[/url] prüfen!',-1);}
    		
          } else {
            echo '<b>Error:</b><br />'.$re;
          }


    --> Parse error: syntax error, unexpected '}' in /srv/www/htdocs/eweb15/html/haller_cms/include/contents/downloads.php on line 299 ^^

    Funktioniert nicht ganz ^^
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Sony Mitglied
    Registriert seit
    05.10.2007
    Beiträge
    146
    Beitragswertungen
    0 Beitragspunkte
    oder muss ich diese hier auch definieren?

    sendpm ($sid,$eid,$betreff,$text,[$status])

    $sid = Userid des Senders
    $eid = Userid des Empfängers
    $betreff = Betreff der eMail
    $text = Text/Body der eMail
    $status = Status über Zustand (gelesen/gelöscht)
    -1 Posteingang des Empängers/gelöscht beim Sender
    0 Posteingang des Empängers/Postausgang beim Sender (Standard)
    1 gelöscht beim Empänger/Postausgang beim Sender
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    wagsch Mitglied
    Registriert seit
    31.03.2008
    Beiträge
    188
    Beitragswertungen
    2 Beitragspunkte
    Hi !

    Ich habe es dank Mairu per Loginbox gelöst!

    Siehe hier:

    mairu.ilch.net/index.php?forum-showposts-63
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.635
    Beitragswertungen
    1193 Beitragspunkte
    Probiers mal so!

    $re = icUpload(); 
            if ($re === true) {
            echo 'Erfolgreich eingetragen! Der Download wird durch einen Administrator des Musikvereins Kuppingen gepr&uuml;ft und anschließend freigeschalten.';
            $uid = db_last_id();
            sendpm($uid,1,'Userupload!','Ein User hat etwas geuploadet! Bitte den Upload prüfen!',-1);
            
          } else {
            echo '<b>Error:</b><br />'.$re;
          }
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    Akira Mitglied
    Registriert seit
    25.01.2007
    Beiträge
    1.369
    Beitragswertungen
    1 Beitragspunkte
    ZitatZitat geschrieben von Sony

     $re = icUpload(); 
    	    if ($re === true) {
            echo 'Erfolgreich eingetragen! Der Download wird durch einen Administrator des Musikvereins Kuppingen gepr&uuml;ft und anschließend freigeschalten.';
    		sendpm($uid,1,'Userupload!','Ein User hat etwas geuploadet! Bitte den Upload hier [url=index.php?download]Uploadseite[/url] prüfen!',-1);}
    		
          } else {
            echo '<b>Error:</b><br />'.$re;
          }


    --> Parse error: syntax error, unexpected '}' in /srv/www/htdocs/eweb15/html/haller_cms/include/contents/downloads.php on line 299 ^^

    Funktioniert nicht ganz ^^


    x_X die } is da überflüssig

            if ($re === true) {
            echo 'Erfolgreich eingetragen! Der Download wird durch einen Administrator des Musikvereins Kuppingen gepr&uuml;ft und anschließend freigeschalten.';
            sendpm($uid,1,'Userupload!','Ein User hat etwas geuploadet! Bitte den Upload hier [url=index.php?download]Uploadseite[/url] prüfen!',-1);
            
          } else {


    da sollte gehen :p


    Zuletzt modifiziert von Akira am 04.03.2009 - 18:59:16
    externer Link Visit Us zwinker
    Neue Scripte: JQuery Login usw... Turnier(externer Link Multi-Bewertung, Refferer, Forum Upload, E-Mail login
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    Sony Mitglied
    Registriert seit
    05.10.2007
    Beiträge
    146
    Beitragswertungen
    0 Beitragspunkte
    Hey wagsch,

    danke für den Link. Diese Alternative hat sofort funktioniert. Die anderen leider nicht.

    Danke trotzdem für die tolle Unterstützung!!
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    wagsch Mitglied
    Registriert seit
    31.03.2008
    Beiträge
    188
    Beitragswertungen
    2 Beitragspunkte
    ZitatZitat geschrieben von Sony

    Hey wagsch,

    danke für den Link. Diese Alternative hat sofort funktioniert. Die anderen leider nicht.

    Danke trotzdem für die tolle Unterstützung!!


    Bitte Bitte! lächeln
    Der Dank gehört aber, wie immer Mairu! zwinker
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Kritik und Verbesserungen

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten