ilch Forum » Ilch Clan 1.1 » Kritik und Verbesserungen » Spiele/Wars View änderung

Geschlossen
  1. #1
    User Pic
    armin Mitglied
    Registriert seit
    22.01.2006
    Beiträge
    170
    Beitragswertungen
    0 Beitragspunkte
    hallo Zusammen

    ist es möglich die Spiele/Wars nur noch den Gruppen/Teams anzuzeigen für diese Sie zugänglich sind.


    Beispiel:

    Wenn jetzt ein Spiel auf Team A eingetragen wurde kann das jeder einsehen. Klarerweise können sich nur Members aus Team A anmelden aber sehen kann es jeder.

    Könnte man diese View mit einer Abfrage belegen so dass Team A nur Spiele für team A und Team B etc... auch nur diese wo für dieses team eingetragen wurde sehen?

    Würde mir sehr weiterhelfen!

    Vielen Dank für Eure Antworten im Voraus.

    Gruss
    Armin
    Phantasie ich wichtiger als Wissen
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Also das ist jetzt lediglich ein Gedankenspiel von mir, in der include/contents/wars.php
    Zeile 157+ steht
    		$tpl->set_ar_out($row,0);
    
    		if ( $_SESSION['authright'] <= -2 ) {

    versuch es mal mit
    		if ( has_right($row['tid']) ) {
    		  		$tpl->set_ar_out($row,0);


    und dann weiter unten Zeile 208
    		}
      	$tpl->out(4);
    zu
    $tpl->out(4);
    		} else { echo 'Zugriff nur f&uuml;r Teammitglieder'; }


    kannst ja mal testen (ich hab es nicht getan zwinker )
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    armin Mitglied
    Registriert seit
    22.01.2006
    Beiträge
    170
    Beitragswertungen
    0 Beitragspunkte
    Mairu

    Vielen Dank für Deine Antwort.

    ich habs probiert, leider sieht mein Test user alle Spiele.
    Es scheint sich ein Fehlerteufelechen eingeschlichen zu haben zwinker

    Dank Dir auf jeden Fall für die Idee!!!!!!

    Gruss
    armin
    Phantasie ich wichtiger als Wissen
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Also ich habe es eben mal ausprobiert, und es funktioniert eigentlich.
    Also jetzt sage ich nochmal was es macht, es verhindert, dass Leute die nicht aus dem Team sind, die Details eines Nextwars sehen..., den nextwar selbst sieht man.

    Schreib mal genau was du meinst.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    armin Mitglied
    Registriert seit
    22.01.2006
    Beiträge
    170
    Beitragswertungen
    0 Beitragspunkte
    Mairu
    da muss ich mich entschuldigen. Das habe ich dann falsch gepostet.

    beispiel:

    Player 1 ist im team 1
    er soll im Wars in der übersicht nur die Spiele aus Team 1 sehen.

    Player 2 ist im Team 2
    er sieht nur die Spiele für Team 2

    Player 3 ist in beiden Teams sieht somit alle Spiele.

    Wie kann ich es noch beschreiben. Es soll einfach verhindern das alle Spieler alle Wars sehen können.

    Einsehen war falsch ausgedrückt. mea maxima culpa. Die Übersicht Wars soll sozusagen nach team zugehörigkeit angezeigt werden. Dadurch möchte ich verhindern das Spieler aus anderen Teams an Spiele erscheinen wo Sie sich gar nicht anmelden können.

    und wieder ein riesen DANKE an DICH !!!

    gruss armin


    Zuletzt modifiziert von armin am 29.04.2007 - 22:07:34
    Phantasie ich wichtiger als Wissen
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Einfacher wäre es wenn Spieler 3 gar nichts sieht zwinker
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    armin Mitglied
    Registriert seit
    22.01.2006
    Beiträge
    170
    Beitragswertungen
    0 Beitragspunkte
    Hallo Mairu,

    wir haben folgende Gruppen

    Bookings - hier sind alle drinne
    Brothers in Arms - hier Partner clubs
    Storm - hier unsere members
    Storm - Trial - hier die Trial Spieler
    Storm - Spielorgas
    Storm - Vorstand
    Storm - aktiv
    Storm - passiv

    Restliche Gruppen dienen zur Organisation und zum trennen wegen mailings.

    Hauptsächlich werden die Spiele auf Bookings und Storm eingetragen. Manchmal sortieren wir auch die Trial members aus. Meist bei Auslandsspielen in UK, F oder CZ.

    Wobei es mir am meisten um die Booking Gruppe geht. Die sich von Storm unterscheidet da dort alle eingetragen sind.

    Unsere Members sind immer in der Storm und Booking Gruppe damit diese sich an jedes Spiel anmelden können. Klar ist ein Brother in Arms nur in der Booking damit sich dieser nicht an die Storm Spiele anmelden kann. Aber sehen tut er das Datum und den Verein gegen den wir spielen oder den Ort wo wir trainieren.

    Was ich gerne verhindern möchte ist das ein Partner Club unsere interne Spiele sieht. Da in der Wars Übersicht auch das Datum steht reichen diese Informationen meist aus um dann zum Schluss unangemeldet oder gar ungewollt auf dem Spielfeld zu stehen. Gleiches für die Trial Members.

    Auch könnte ich dann die Treffen der Spielorgas oder Vorstände als Spiel/Event definieren und das dann auch tracken.

    Die Partner Clubs haben das Recht bei uns ihre eigenen Spiele zu posten damit sich die Spieleranzahl pro Event erhöht.

    Ich sollte vielleich noch erwähnen das wir Airsoft Spielen und sommit wirklich Live auf einem Gelände erscheinen. Online Server mit Login würde das Problem dämmen aber das haben wir bei Airsoft (leider) nicht.

    Deshalb möchte die Anpassung der View im Wars Bereich nutzen um das was für andere nicht gesehen werden soll auszublenden.

    Vielleicht erklärt sich meine Situation so besser.

    Dank Dir Mairu!!!

    gruss armin


    Zuletzt modifiziert von armin am 30.04.2007 - 04:45:34
    Phantasie ich wichtiger als Wissen
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Also wenn es nur um Zeit usw. geht, die könnte man auch einfach in der Übersicht nicht anzeigen lassen.
    Bei so vielen Teams die Sichtbarkeit individuell zu gestalten ist eher reine Anpassung an deine Page und recht kompliziert, weil jedes Team was anderes sehen können darf, wenn ich es richtig verstanden habe, wäre es vielleicht das einfachste wirklich nur die Zeit aus der Übersicht zu entfernen?
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    armin Mitglied
    Registriert seit
    22.01.2006
    Beiträge
    170
    Beitragswertungen
    0 Beitragspunkte
    Mairu

    danke für die Antwort. Leider zeigt auch der gegner name sommit den ort auf.

    Aber das mit der Zeit wollte ich nicht den Members antun.

    Schade aber ich kann damit leben ;-)

    Nochmals vielen Dank für Deine super Ünterstützung!

    gruss
    armin
    Phantasie ich wichtiger als Wissen
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    armin Mitglied
    Registriert seit
    22.01.2006
    Beiträge
    170
    Beitragswertungen
    0 Beitragspunkte
    AN ALLE

    was würde denn solch eine implementation kosten?
    Ihr sollt mich ja nicht (immer zwinker ) kostenlos supporten.

    Ich bin gerne bereit Euch für Euren Aufwand zu bezahlen!

    Darin liegt nicht das Problem so lange es im Rahmen bleibt.

    besten Dank schon mal an ALLE !!

    Gruss
    Armin
    Phantasie ich wichtiger als Wissen
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Ähm lol, also jetzt habe ich gerade gesehen Spieler 3 ist in beiden Teams... ich hatte gelesen in keinen Teams, also soll jeder wirklich nur von seinem eigenen Team(s) sehen?
    Das wäre noch relativ einfach machbar, glaube ich.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    armin Mitglied
    Registriert seit
    22.01.2006
    Beiträge
    170
    Beitragswertungen
    0 Beitragspunkte
    Danke Mairu,

    vielleicht ist es doch nicht so einfach.

    Ich zum Beispiel bin in den gruppen

    Bookings
    Storm
    Storm - aktiv
    Storm - vorstand

    Aber die Brother in Arms sind nur in
    Brother in Arms
    Bookings

    Ich weiss ja nicht ob man zuerst das Feld (TEAM) im Wars ausliehst und dann den User zuordnet in der View.

    Aber Ihr seit da die Cracks nicht ich.
    Phantasie ich wichtiger als Wissen
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Nunja man weiß halt von jedem in welchem Team er ist, man müsste also davon ausgehen.
    Man könnte es auch so machen, wenn er in einem bestimmten Team ist, sieht er die Wars von bestimmten Teams.
    Also wie eine kleine Tabelle sozusagen.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    armin Mitglied
    Registriert seit
    22.01.2006
    Beiträge
    170
    Beitragswertungen
    0 Beitragspunkte
    Mairu

    Danke für Deine Antwort.

    So würde ich es mir vorstellen.

    Der Spieler sieht in der Wars.php übersicht nur die Spiele welche für das team wo er eingetragen ist bereit stehen.

    Bookings sieht nur bookings
    storm - sieht bookings und storm
    spiele.

    Wenn es so geht haben wir es geschafft zwinker

    gruss
    armin
    Phantasie ich wichtiger als Wissen
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Also ich habs jetzt nicht ausführlich getestet, aber ich hoffe es geht, also wieder in der wars.php diesmal Zeile 62 sollte es glaube ich sein, da steht sowas
    	$erg = db_query("SELECT a.id,a.gegner,a.page,a.game,b.name as team,DATE_FORMAT(datime,'%d.%m.%Y - %H:%i:%s') as time FROM prefix_wars a left join prefix_groups b ON a.tid = b.id WHERE status = 2 AND a.datime >= '".$akttime."' ORDER BY a.datime");
    ich hab das jetzt mal wie folgt ersetzt
    //Teams
      $trigth=array('1' => 'b.id = 1 OR b.id = 6',
                    '2' => 'b.id = 2 OR b.id = 3');
    	$where = '';
      foreach($trigth as $k => $t) {
        if ($_SESSION['authgrp'][$k] == 1) {
          if (strlen($where) > 0) $where .= ' OR ';
          $where .= $t;
        }
      }
      if (strlen($where) == 0) $where = 'FALSE';
      //Teams- ENDE
    	$erg = db_query("SELECT a.id,a.gegner,a.page,a.game,b.name as team,DATE_FORMAT(datime,'%d.%m.%Y - %H:%i:%s') as time FROM prefix_wars a left join prefix_groups b ON a.tid = b.id WHERE (status = 2 AND a.datime >= '".$akttime."') AND ($where) ORDER BY a.datime");

    Du musst das dann natürlich noch auf deine Anforderungen anpassen, also bei dem array steht vorn sozusagen, die Teamid für die die nachfolgenden Bedingungen in die Datenbankabfrage mit eingebunden werden, wo auch nur wieder die Teamids (schon in Abfrageform mit OR verknüpft) stehen, von denen es angezeigt werden soll.
    Die Änderungen von weiter oben, solltest du natürlich drin lasse, als zusätzlichen Schutz.


    Zuletzt modifiziert von Mairu am 05.05.2007 - 12:10:10
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    armin Mitglied
    Registriert seit
    22.01.2006
    Beiträge
    170
    Beitragswertungen
    0 Beitragspunkte
    You are the man!
    Mairu, Hut ab! Klasse!

    ich habs vielleicht etwas falsch verstanden.

    Meine Gruppen/Teams haben die folgenden ID's

    Bookings = 7 (hier sind alle drinne)
    Brother in Arms = 3 (hier nur "partner" )
    Storm = 2 (hier nur "interne/members"

    Also müsste wenn ich richtig liege das array so aussehen:

    $trigth=array('3' => 'b.id = 3 OR b.id = 7',
    '2' => 'b.id = 2 OR b.id = 7');

    Kann man ein "AND" anstatt des OR verwenden. Da alle in der gruppe 7 sprich bookings sind.

    ich definiere ja in diesem array was wer sieht? oder.

    jedoch bekomme ich wenn ich es so speichere eine leere tabelle.

    Hey sorry aber leider bin ich da kein crack...

    Danke wie immer!
    gruss
    armin


    Zuletzt modifiziert von armin am 05.05.2007 - 11:06:16
    Phantasie ich wichtiger als Wissen
    0 Mitglieder finden den Beitrag gut.
  17. #17
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Ne also das mit den OR muss schon so sein, AND würde bedeuten, der War müsste für beide Teams eingetragen sein und das geht ja nun nicht. Ich schau nochmal nach.

    Wenn ich das unten wieder lese, hätte man es gar nicht gebraucht, wenn alle in 7 sind, dann brauchst du theoretisch nur
    $trigth=array('3' => 'b.id = 3',
    '2' => 'b.id = 2',
    '7' => 'b.id = 7');

    Aber ich dachte du willst es noch etwas spezieller, nunja.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  18. #18
    User Pic
    armin Mitglied
    Registriert seit
    22.01.2006
    Beiträge
    170
    Beitragswertungen
    0 Beitragspunkte
    Guten Morgen, Mairu
    jetzt habe ich ein schlechtes gewissen grumml

    Das group nesting kenne ich aus der windows welt, deshalb wählte ich dieses prinzip. dadurch erreich ich eine art ausschlussverfahren bei den anmeldungen zu den spielen.

    Auf die unteren gruppen werden spiele /anmeldungen eröffnet.

    bookings = storm, brother in arms
    Dieses Spiel ist frei für alle, und alle sollen die details sehen

    storm = aktiv, passiv, trial (alle internen gruppen)
    Bookings sind nicht in der Gruppe und sommit soll das spiel nicht sichtbar sein (für bookings) Das sehen nur stormer

    Im prinzip ein internes club spiel, während das bookings spiel offen ist für alle.

    storm aktiv = dadurch werden trials und booking ausgeschlossen. nur aktive können.

    etc...

    Deshalb soll ein Brother in Arm (booking) die anderen spiele nicht sehen. Ich kopple das public gegen das private ab. gleich in der ansicht.

    Aber irgendws scheint nicht zu stimmen bei mir, ich bekomme immer ein "kein Next War vorhanden"

    ich prüfe es nochmal.
    Danke

    PS hattest du die PM bekommen?


    Zuletzt modifiziert von armin am 05.05.2007 - 11:54:37
    Phantasie ich wichtiger als Wissen
    0 Mitglieder finden den Beitrag gut.
  19. #19
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Oh mann, dummer Fehler, aber ich habe ihn gefunden und korrigiert zwinker
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  20. #20
    User Pic
    armin Mitglied
    Registriert seit
    22.01.2006
    Beiträge
    170
    Beitragswertungen
    0 Beitragspunkte
    Mairu
    echt klasse wie du mich hier unterstützt!

    Habs hinbekommen und mein test user sieht auch nur die public spiele.

    Um das OR richtig zu verstehen
    ('1' => 'b.id = 1 OR b.id = 6',

    damit fass ich in der ansicht gruppen zusammen.
    ALso bookings = brothers in arms OR storm

    dann für die internen
    storm = storm aktiv OR storm trial
    oder ich setzt die gruppe identisch '2' => 'b.id = 2',

    Die spiele sind getrennt nur sehe ich unsere staff und vorstandssitzungen nicht mehr lächeln ?

    Mairu, wie kann ich micht erkenntlich zeigen?

    gruss
    armin
    Phantasie ich wichtiger als Wissen
    0 Mitglieder finden den Beitrag gut.
  21. #21
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Du kannst wenn du willst was spenden zwinker (Impressum)
    Und wenn du was anderes nicht mehr siehst, musst du doch eigentlich einfach nur noch die zusätzlichen ids mit oben in das Array eintragen, das ist unbegrenzt zwinker
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  22. #22
    User Pic
    armin Mitglied
    Registriert seit
    22.01.2006
    Beiträge
    170
    Beitragswertungen
    0 Beitragspunkte
    Mairu

    es funktioniert!

    hey ehrlich Super Sache das Du mir da geholfen hast! Find ich bemerkenswert!

    OK, dann höre ich dich mal auf zu stressen und sage VIELEN DANK und wünsche Dir nen schönen Sonntag. Auch wenn es regent...

    Bis bald.
    gruss aus basel
    armin
    Phantasie ich wichtiger als Wissen
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Kritik und Verbesserungen

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten