ilch Forum » Ilch Clan 1.1 » Module und Modifikationen » ClanKassenErweiterungv1.3fuerilchv1.1k

Geschlossen
  1. #1
    User Pic
    CiSeN Mitglied
    Registriert seit
    06.01.2010
    Beiträge
    58
    Beitragswertungen
    1 Beitragspunkte
    guten morgen allerseits,

    ich hab ein kleines problem bzw. eher eine umsetzungsfrage zu dem in der überschrift erwähnten modul, das ich mir von Rock@wulf hier runtergeladen hab.

    soweit funktioniert das modul einwandfrei. das einzige was mich daran stört (was ich auch auf anderen clanseiten sehen konnte) war, dass man lediglich externer Link eingeben müsste und schon den entsprechenden content angezeigt bekommt.
    da dort ja nunmal ziemlich sensible daten (zumindest was die kontoinformationen betrifft) zu finden sind, wollte ich mal dezent anfragen, wie ich es umsetzen müsste, dass nur "Clanmitglieder" (in unserem fall das grundrecht -5) zugang zu diesem content haben und alle besucher unter diesem rang die meldung "du hast leider nicht die nötigen rechte, um diesen bereich sehen zu können" erhalten.

    der code aus der include/contents/kasse.php lautet:
    <?php 
    #   Copyright by: Manuel Staechele
    #   Support: www.ilch.de
    
    defined ('main') or die ( 'no direct access' );
    
    $title = $allgAr['title'].' :: Clankasse';
    $hmenu = 'Clankasse';
    $design = new design ( $title , $hmenu );
    $design->header();
    
    # loeschen
    if ($menu->getA(1) == 'd' AND is_numeric($menu->getE(1)) AND has_right(-8, 'kasse')) {
      db_query("DELETE FROM prefix_kasse WHERE id = ".$menu->getE(1));
    }
    
    $m = date('m');
    $y = date('Y');
    if ($menu->getA(1) == 'm' AND is_numeric($menu->getE(1))) {
      $m = escape($menu->getE(1), 'integer');
    }
    if ($menu->getA(2) == 'y' AND is_numeric($menu->getE(2))) {
      $y = escape($menu->getE(2), 'integer');
    }
    
    $pm = $m -1;
    $nm = $m +1;
    $py = $y;
    $ny = $y;
    if ($pm <= 0) { $pm = 12; $py = $y -1; }
    if ($nm > 12) { $nm = 1; $ny = $y +1; }
    
    $akt = mktime(0,0,0,$m,1,$y);  # aktuelle timestamp
    $aka = date('Y-m-d', $akt);
    $ake = date('Y-m-d', mktime(0,0,0,$m,date('t', $akt),$y));
    $jakt = mktime(0,0,0,1,1,$y); # atkueller jahr timestamp
    $jaka = date('Y-m-d', $jakt);
    $jake = date('Y-m-d', mktime(0,0,0,12, date('t', mktime(0,0,0,12,1,$y)), $y));
    
    $kontodaten = db_result(db_query("SELECT t1 FROM prefix_allg WHERE k = 'kasse_kontodaten'"),0);
    $kontodaten = unescape($kontodaten);
    $kontodaten = bbcode($kontodaten);
    
    $tpl = new tpl ( 'kasse.htm' );
    
    $tpl->set('kontodaten', $kontodaten);
    
    $tpl->set('minus', db_result(db_query("SELECT ROUND(SUM(betrag),2) FROM prefix_kasse WHERE betrag < 0"),0));
    $tpl->set('plus', db_result(db_query("SELECT ROUND(SUM(betrag),2) FROM prefix_kasse WHERE betrag > 0"),0));
    $tpl->set('saldo', db_result(db_query("SELECT ROUND(SUM(betrag),2) FROM prefix_kasse"),0));
    
    $tpl->set('Jminus', db_result(db_query("SELECT ROUND(SUM(betrag),2) FROM prefix_kasse WHERE betrag < 0 AND datum >= '".$jaka."' AND datum <= '".$jake."'"),0));
    $tpl->set('Jplus', db_result(db_query("SELECT ROUND(SUM(betrag),2) FROM prefix_kasse WHERE betrag > 0 AND datum >= '".$jaka."' AND datum <= '".$jake."'"),0));
    $tpl->set('Jsaldo', db_result(db_query("SELECT ROUND(SUM(betrag),2) FROM prefix_kasse WHERE datum >= '".$jaka."' AND datum <= '".$jake."'"),0));
    
    $tpl->set('Mminus', db_result(db_query("SELECT ROUND(SUM(betrag),2) FROM prefix_kasse WHERE betrag < 0 AND datum >= '".$aka."' AND datum <= '".$ake."'"),0));
    $tpl->set('Mplus', db_result(db_query("SELECT ROUND(SUM(betrag),2) FROM prefix_kasse WHERE betrag > 0 AND datum >= '".$aka."' AND datum <= '".$ake."'"),0));
    $tpl->set('Msaldo', db_result(db_query("SELECT ROUND(SUM(betrag),2) FROM prefix_kasse WHERE datum >= '".$aka."' AND datum <= '".$ake."'"),0));
    
    $tpl->set('month', $lang[date('F', $akt)]);
    $tpl->set('pm', $pm);
    $tpl->set('nm', $nm);
    $tpl->set('py', $py);
    $tpl->set('ny', $ny);
    $tpl->set('jahr', $y);
     
    $tpl->out(0);
    
    $class = '';
    $erg = db_query("SELECT name, verwendung, id, ROUND(betrag,2) as betrag FROM prefix_kasse WHERE datum >= '".$aka."' AND datum <= '".$ake."' ORDER BY datum DESC");
    while ($r = db_fetch_assoc($erg)) {
      $class = ($class == 'Cmite' ? 'Cnorm' : 'Cmite' );
      $r['class'] = $class;
      if (has_right(-8, 'kasse')) {
        $r['verwendung'] .= '<span style="float: right;">
        <a href="admin.php?kasse-buchungen-'.$r['id'].'"><img src="include/images/icons/edit.gif" border="0" title="'.$lang['change'].'" alt="'.$lang['change'].'" /></a>
        <a href="index.php?kasse-buchungen-d'.$r['id'].'"><img src="include/images/icons/del.gif" border="0" title="'.$lang['delete'].'" alt="'.$lang['delete'].'" /></a>
        </span>';
      }
      $tpl->set_ar_out($r, 1);
    }
    $tpl->out(2);
    $design->footer();
    ?>


    da meine scriptkenntnisse ziemlich begrenzt sind hoffe ich, dass mir jemand unter euch diesbezüglich weiterhelfen kann.

    P.S. bevor das große gemecker kommt, dass ich im adminbereich unter navigation - sichtbar ab entsprechendem grundrecht einstellen soll, merk ich vorsichtshalber an, dass wir nicht mit der navigation arbeiten, da uns die naviboxen links und rechts nicht zusagten.

    danke schonmal im vorraus

    betroffene Homepage: t-h-c-headquarters.de
    Bombing For Peace Is Like Fu**ing For Virginity !!!
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.675
    Beitragswertungen
    1212 Beitragspunkte
    Der einfachste und sinnvollste Weg wäre ein Linkeintrag in einem unbenutzen Menü. Beispiel: Admin / Navigation / Menü 05 / Kasse / Sichtbar ab / Member

    Zweite Möglichkeit wäre: has_right( -3 , 'kasse' )


    Zuletzt modifiziert von Lord|Schirmer am 03.07.2011 - 09:16:25
    rules :: doku :: faq :: linkus
    1 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
    ZitatZitat geschrieben von CiSeN

    guten morgen allerseits,

    ich hab ein kleines problem bzw. eher eine umsetzungsfrage zu dem in der überschrift erwähnten modul, das ich mir von Rock@wulf hier runtergeladen hab.

    soweit funktioniert das modul einwandfrei. das einzige was mich daran stört (was ich auch auf anderen clanseiten sehen konnte) war, dass man lediglich externer Link eingeben müsste und schon den entsprechenden content angezeigt bekommt.
    da dort ja nunmal ziemlich sensible daten (zumindest was die kontoinformationen betrifft) zu finden sind, wollte ich mal dezent anfragen, wie ich es umsetzen müsste, dass nur "Clanmitglieder" (in unserem fall das grundrecht -5) zugang zu diesem content haben und alle besucher unter diesem rang die meldung "du hast leider nicht die nötigen rechte, um diesen bereich sehen zu können" erhalten.

    der code aus der include/contents/kasse.php lautet:
    <?php 
    #   Copyright by: Manuel Staechele
    #   Support: www.ilch.de
    
    defined ('main') or die ( 'no direct access' );
    
    $title = $allgAr['title'].' :: Clankasse';
    $hmenu = 'Clankasse';
    $design = new design ( $title , $hmenu );
    $design->header();
    if (has_right( -5 , 'kasse' )){
    # loeschen
    if ($menu->getA(1) == 'd' AND is_numeric($menu->getE(1)) AND has_right(-8, 'kasse')) {
      db_query("DELETE FROM prefix_kasse WHERE id = ".$menu->getE(1));
    }
    
    $m = date('m');
    $y = date('Y');
    if ($menu->getA(1) == 'm' AND is_numeric($menu->getE(1))) {
      $m = escape($menu->getE(1), 'integer');
    }
    if ($menu->getA(2) == 'y' AND is_numeric($menu->getE(2))) {
      $y = escape($menu->getE(2), 'integer');
    }
    
    $pm = $m -1;
    $nm = $m +1;
    $py = $y;
    $ny = $y;
    if ($pm <= 0) { $pm = 12; $py = $y -1; }
    if ($nm > 12) { $nm = 1; $ny = $y +1; }
    
    $akt = mktime(0,0,0,$m,1,$y);  # aktuelle timestamp
    $aka = date('Y-m-d', $akt);
    $ake = date('Y-m-d', mktime(0,0,0,$m,date('t', $akt),$y));
    $jakt = mktime(0,0,0,1,1,$y); # atkueller jahr timestamp
    $jaka = date('Y-m-d', $jakt);
    $jake = date('Y-m-d', mktime(0,0,0,12, date('t', mktime(0,0,0,12,1,$y)), $y));
    
    $kontodaten = db_result(db_query("SELECT t1 FROM prefix_allg WHERE k = 'kasse_kontodaten'"),0);
    $kontodaten = unescape($kontodaten);
    $kontodaten = bbcode($kontodaten);
    
    $tpl = new tpl ( 'kasse.htm' );
    
    $tpl->set('kontodaten', $kontodaten);
    
    $tpl->set('minus', db_result(db_query("SELECT ROUND(SUM(betrag),2) FROM prefix_kasse WHERE betrag < 0"),0));
    $tpl->set('plus', db_result(db_query("SELECT ROUND(SUM(betrag),2) FROM prefix_kasse WHERE betrag > 0"),0));
    $tpl->set('saldo', db_result(db_query("SELECT ROUND(SUM(betrag),2) FROM prefix_kasse"),0));
    
    $tpl->set('Jminus', db_result(db_query("SELECT ROUND(SUM(betrag),2) FROM prefix_kasse WHERE betrag < 0 AND datum >= '".$jaka."' AND datum <= '".$jake."'"),0));
    $tpl->set('Jplus', db_result(db_query("SELECT ROUND(SUM(betrag),2) FROM prefix_kasse WHERE betrag > 0 AND datum >= '".$jaka."' AND datum <= '".$jake."'"),0));
    $tpl->set('Jsaldo', db_result(db_query("SELECT ROUND(SUM(betrag),2) FROM prefix_kasse WHERE datum >= '".$jaka."' AND datum <= '".$jake."'"),0));
    
    $tpl->set('Mminus', db_result(db_query("SELECT ROUND(SUM(betrag),2) FROM prefix_kasse WHERE betrag < 0 AND datum >= '".$aka."' AND datum <= '".$ake."'"),0));
    $tpl->set('Mplus', db_result(db_query("SELECT ROUND(SUM(betrag),2) FROM prefix_kasse WHERE betrag > 0 AND datum >= '".$aka."' AND datum <= '".$ake."'"),0));
    $tpl->set('Msaldo', db_result(db_query("SELECT ROUND(SUM(betrag),2) FROM prefix_kasse WHERE datum >= '".$aka."' AND datum <= '".$ake."'"),0));
    
    $tpl->set('month', $lang[date('F', $akt)]);
    $tpl->set('pm', $pm);
    $tpl->set('nm', $nm);
    $tpl->set('py', $py);
    $tpl->set('ny', $ny);
    $tpl->set('jahr', $y);
     
    $tpl->out(0);
    
    $class = '';
    $erg = db_query("SELECT name, verwendung, id, ROUND(betrag,2) as betrag FROM prefix_kasse WHERE datum >= '".$aka."' AND datum <= '".$ake."' ORDER BY datum DESC");
    while ($r = db_fetch_assoc($erg)) {
      $class = ($class == 'Cmite' ? 'Cnorm' : 'Cmite' );
      $r['class'] = $class;
      if (has_right(-8, 'kasse')) {
        $r['verwendung'] .= '<span style="float: right;">
        <a href="admin.php?kasse-buchungen-'.$r['id'].'"><img src="include/images/icons/edit.gif" border="0" title="'.$lang['change'].'" alt="'.$lang['change'].'" /></a>
        <a href="index.php?kasse-buchungen-d'.$r['id'].'"><img src="include/images/icons/del.gif" border="0" title="'.$lang['delete'].'" alt="'.$lang['delete'].'" /></a>
        </span>';
      }
      $tpl->set_ar_out($r, 1);
    }
    $tpl->out(2);
    } else {
     echo 'Sie haben leider nicht die nötigen Rechte, um diesen Bereich sehen zu können.';
    }
    $design->footer();
    ?>


    da meine scriptkenntnisse ziemlich begrenzt sind hoffe ich, dass mir jemand unter euch diesbezüglich weiterhelfen kann.

    P.S. bevor das große gemecker kommt, dass ich im adminbereich unter navigation - sichtbar ab entsprechendem grundrecht einstellen soll, merk ich vorsichtshalber an, dass wir nicht mit der navigation arbeiten, da uns die naviboxen links und rechts nicht zusagten.

    danke schonmal im vorraus

    betroffene Homepage: t-h-c-headquarters.de


    ergänzt wurden die Zeilen

    11 sowie 83-85

    gruß


    Zuletzt modifiziert von Rock@wulf am 03.07.2011 - 18:59:15
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    1 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    CiSeN Mitglied
    Registriert seit
    06.01.2010
    Beiträge
    58
    Beitragswertungen
    1 Beitragspunkte
    danke an euch beide für die schnelle beantwortung.

    variante 1 von lord|schirmer klappt auf jeden fall - danke für den tipp was das betrifft. so hab ich wieder was dazugelernt.

    bei variante 2 dachte ich mir schon fast, dass ich mit has_right( -5 , 'kasse' ) arbeiten hätte müssen, wusste allerdings nicht wie ich es hätte einbauen müssen.
    aus dem grund ein dickes danke an Rock@wulf für die umsetzung.

    ich kann also beide umsetzungen nur empfehlen - fluppen einwandfrei.

    danke nochmal und thema kann geschlossen werden.


    Zuletzt modifiziert von CiSeN am 03.07.2011 - 19:21:31
    Bombing For Peace Is Like Fu**ing For Virginity !!!
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Module und Modifikationen

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten