ilch Forum » Ilch Clan 1.1 » Module und Modifikationen » awaycal modifizieren

Geschlossen
  1. #1
    User Pic
    MonkeyOnKeyboard Moderator
    Registriert seit
    10.02.2014
    Beiträge
    437
    Beitragswertungen
    20 Beitragspunkte
    Hi ich hab mal ne frage.
    Und zwar wäre es möglich, dass man den away_cal so modifizieren kann, das zb ab coadmin man eine PUlldown liste mit allen usernamen hat, wo man auch für andere member ein away hinterlegen kann.

    da wir auch den inavtiv manager haben.


    verwendete ilch Version: 1.1 P

    betroffene Homepage: caelum-et-infernum.eu
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    xXschippi88Xx Mitglied
    Registriert seit
    14.12.2013
    Beiträge
    181
    Beitragswertungen
    3 Beitragspunkte
    Warum nicht erst einmal das Copyright vom Designersteller wieder an die Ursprüngliche Stelle einfügen??
    Hmm... Soll ich heute trinken?
    Oder soll ich heute UND morgen trinken?
    1 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Saarlonz Hall Of Fame
    Registriert seit
    07.08.2008
    Beiträge
    3.003
    Beitragswertungen
    235 Beitragspunkte
    ZitatZitat geschrieben von xXschippi88Xx
    Warum nicht erst einmal das Copyright vom Designersteller wieder an die Ursprüngliche Stelle einfügen??


    Was hat das mit seinem anliegen zu tun?
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    Gehen tut dies bestimmt zwinker könnte schauen das ich es mir mal anschaue da ich das Modul nicht wirklich kenne?

    Woher kommt das Modul den kannst du es mir verlinken?
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Saarlonz Hall Of Fame
    Registriert seit
    07.08.2008
    Beiträge
    3.003
    Beitragswertungen
    235 Beitragspunkte
    awaycal ist ein Standard Modul von ilch :/
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    MonkeyOnKeyboard Moderator
    Registriert seit
    10.02.2014
    Beiträge
    437
    Beitragswertungen
    20 Beitragspunkte
    also ich hab mir das modul, leider schon von der v. 1.1.q angeschaut und finde nicht den einstieg wo man sowas als if else schleife definieren könnte.

    weil er gleich die uid nimmt zum eintragen....
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    ZitatZitat geschrieben von Saarlonz
    awaycal ist ein Standard Modul von ilch :/

    Ich kenne auch nicht alles von ilch auswendig?

    ZitatZitat geschrieben von magicmarkus
    also ich hab mir das modul, leider schon von der v. 1.1.q angeschaut und finde nicht den einstieg wo man sowas als if else schleife definieren könnte.

    weil er gleich die uid nimmt zum eintragen....

    Na ja grob gesagt musst du halt etwas hinzufügen.

    Abfragen wenn user ist coadmin dann den Inhalt anzeigen.
    Im Inhalt muss du halt alle Users auslesen und diese in einer select option packen.
    Damit hätte man die User Auswahl wobei value = id ist dadrunter dann wie gewohnt das von - bis input und Grund textarea evtl fügt man da auch automatisch mit ein das der Eintrag durch ein coadmin erfolgte.
    Beim Abschicken speicherst du dies in der db und somit sollte der Eintrag dann vorhanden sein

    evtl musst was an der sql abfrage abändern wegen der id aber der rest sollte ja gleich sein

    Soviel zumindest zum Theoretischen teil.
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    MonkeyOnKeyboard Moderator
    Registriert seit
    10.02.2014
    Beiträge
    437
    Beitragswertungen
    20 Beitragspunkte
    ja therotisch versteh ich das auch. nur wo ich das problem sehe
    mir fehlt es an programmier kenntnissen es so umzusetzten.
    ich mein kein Problem die User aus der prefix_users mit id und name auszulesen, das ganze in eine if schleife zu packen, vor dem punkt zu setzten wo er die uid aus der Sesssion raus nimmt.

    in der fallentscheidung schau ich ebenfalls uin der Session nach dem grundrecht also authright > -8.

    Probleme

    1. Problem wie bekomm ich die auswahl liste dann rüber ins template in eine select option mit value ID

    2. eventuel dann im template ne option verankern mit <option> einfügen wo ab coadmin eben noch die auswahl zu sehen ist away eintrag für sich selbst oder für user.
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    Hab heute leider keine Zeit evtl heute Nacht je nachdem wie ich drauf bin lachen sonst schau ich morgen mal wenn dir bis dahin keiner geholfen hat


    Zuletzt modifiziert von Siggi am 09.10.2015 - 19:19:08
    1 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Saarlonz Hall Of Fame
    Registriert seit
    07.08.2008
    Beiträge
    3.003
    Beitragswertungen
    235 Beitragspunkte
    Versuch es mal damit
    php
    <?php 
    #   Copyright by: Manuel
    #   Support: www.ilch.de
    
    defined ('main') or die ( 'no direct access' );
    
    //Text der gesendet wird, wenn ein Neuer Eintrag ertellt wird
    $message1 = $lang['awaycalnewenquiry'];
    //Text der gesendet wird, wenn ein Eintrag bearbeitet wird
    $message2 = $lang['awaycalchangedenquiry'];
    //Text fuer den User wenn der Stutus geandert wurde
    $message3 = $lang['awaycalstatuschanged'];
    
    # function
    function away_sendpmtoleaders ($m,$uid,$a) {
      $q = "SELECT
        DISTINCT prefix_user.id as uid
      FROM prefix_user
        LEFT JOIN prefix_groupusers ON prefix_groupusers.uid = ".$uid."
        LEFT JOIN prefix_groups ON prefix_groups.id = prefix_groupusers.gid
      WHERE recht <= -7
         OR (`mod1` = prefix_user.id AND uid = ".$uid.")
         OR (`mod2` = prefix_user.id AND uid = ".$uid.")
         OR (`mod3` = prefix_user.id AND uid = ".$uid.")
         OR (`mod4` = prefix_user.id AND uid = ".$uid.")";
      $erg = db_query($q);
      while ($r = db_fetch_assoc($erg)) {
        sendpm($_SESSION['authid'], $r['uid'], 'Away-Anfrage', $m, -1);
      }
    }
    
    $title = $allgAr['title'].' :: Awaycalender';
    $hmenu = 'Awaycalender';
    $design = new design ( $title , $hmenu );
    $design->header();
    
    $tpl = new tpl ( 'awaycal.htm' );
    
    if($_SESSION['authright'] > -3) { //Pruefen ob der User ein TrialMember oder mehr ist
      echo $lang['nopermission'];
      $design->footer(1);
    }
    
    # status aendern
    if ($menu->getA(1) == 'c' AND is_numeric($menu->getE(1)) AND is_numeric($menu->get(2)) AND is_siteadmin('awaycal')) {
      $uid = db_result(db_query("SELECT uid FROM prefix_awaycal WHERE id = ".$menu->getE(1)),0);
      db_query("UPDATE prefix_awaycal SET pruef = ".$menu->get(2)." WHERE id = ".$menu->getE(1));
      sendpm($_SESSION['authid'], $uid, 'Away-Anfrage', $message3);
    }
    
    if ($menu->getA(1) == 'd' AND is_numeric($menu->getE(1)) AND is_siteadmin('awaycal')) {
      db_query("DELETE FROM prefix_awaycal WHERE id = ".$menu->getE(1));
    }
    
    $erga = db_query("SELECT name, id FROM prefix_user WHERE id != " . $_SESSION['authid']);
    while ($ra = db_fetch_assoc($erga)) {
        $option .= '<option value="' . $ra['id'] . '">' . $ra['name'] . '</option>';
    }
    
    if ($_SESSION['authright'] <= -8) {
        $userselect = '<tr><td class="Cmite">User</td><td class="Cnorm"><select name="userselect"><option value="" style="display:none;"></option>' . $option . '</select></td></tr>';
    }else{
        $userselect = '';
    }
    
    # eintragen
    if (isset($_POST['ch'])) {
        $von = get_datum(escape($_POST['von'], 'string'));
        $bis = get_datum(escape($_POST['bis'], 'string'));
        $bet = escape($_POST['betreff'], 'string');
    
        if ($_POST['userselect'] == '') {
            $uid = $_SESSION['authid'];
        } else {
            $uid = $_POST['userselect'];
        }
        
    if (empty($_POST['ch'])) {
            away_sendpmtoleaders($message1, $uid, 0);
            db_query("INSERT INTO prefix_awaycal (uid,von,bis,betreff) VALUES (" . $uid . ",'" . $von . "','" . $bis . "','" . $bet . "')");
        } else {
            $id = escape($_POST['ch'], 'integer');
            $uid = db_result(db_query("SELECT uid FROM prefix_awaycal WHERE id = " . $id), 0);
            if (is_siteadmin('awaycal') OR $uid == $_SESSION['authid']) {
                away_sendpmtoleaders($message2, $uid, 1);
                db_query("UPDATE prefix_awaycal SET von = '" . $von . "', bis = '" . $bis . "', betreff = '" . $bet . "' WHERE id = " . $id);
            }
        }
    }
    
    $tpl->out(1); $class = '';
    $statusar = array (2 => $lang['reported'], 1 => $lang['rejected'], 3 => $lang['allowed']);
    $erg = db_query("SELECT pruef, DATE_FORMAT(von,'%d.%m.%Y') as von, DATE_FORMAT(bis,'%d.%m.%Y') as bis, betreff, prefix_user.name, uid, prefix_awaycal.id FROM prefix_awaycal LEFT JOIN prefix_user ON prefix_user.id = prefix_awaycal.uid ORDER BY id DESC");
    while($r = db_fetch_assoc($erg)) {
      $class = ($class == 'Cmite' ? 'Cnorm' : 'Cmite' );
      $r['class']  = $class;
      $r['status'] = $statusar[$r['pruef']];
      if ($r['uid'] == $_SESSION['authid'] OR is_siteadmin('awaycal')) {
        $r['betreff'] .= '<br /><span style="float: right;"><a href="index.php?awaycal-d'.$r['id'].'"><img src="include/images/icons/del.gif" alt="'.$lang['delete'].'" title="'.$lang['delete'].'" border="0" /></a> - <a href="index.php?awaycal-e'.$r['id'].'"><img src="include/images/icons/edit.gif" alt="'.$lang['change'].'" title="'.$lang['change'].'" border="0" /></a>';
        if (is_siteadmin('awaycal')) {
          $r['betreff'] .= ' - <a href="index.php?awaycal-c'.$r['id'].'-1"><img src="include/images/icons/nop.gif" alt="'.$lang['reject'].'" title="'.$lang['reject'].'" border="0" /></a> - <a href="index.php?awaycal-c'.$r['id'].'-3"><img src="include/images/icons/jep.gif" alt="'.$lang['allow'].'" title="'.$lang['allow'].'" border="0" /></a>';
        }
        $r['betreff'] .= '</span>';
      }
      $tpl->set_ar_out($r,2);
    }
    $tpl->out(3);
    
    $e = FALSE;
    if ($menu->getA(1) == 'e' AND is_numeric($menu->getE(1))) {
      $id = escape($menu->getE(1), 'intger');
      $ar = db_fetch_assoc(db_query("SELECT uid, id, von, bis, betreff FROM prefix_awaycal WHERE id = ".$id));
      $e |= (is_siteadmin('awaycal') OR $ar['uid'] == $_SESSION['authid']);
    }
    
    if ($e == FALSE) { $ar = array('id'=>'','von'=>date('d.m.Y'),'bis'=>date('d.m.Y'),'betreff'=>''); }
    $tpl->set('USERSELECT',$userselect,0);
    $tpl->set_ar_out($ar,0);
    $design->footer();
    ?>


    htm
    <form action="index.php?awaycal" method="POST">
    <input type="hidden" name="ch" value="{id}" />
    <table cellpadding="2" cellspacing="1" border="0" class="border">
    <tr class="Chead"><td colspan="2"><b>{_lang_dateform}</b></td>
    </tr>
    {USERSELECT}
    <tr>
      <td class="Cmite">{_lang_from}</td>
      <td class="Cnorm"><input name="von" value="{von}"></td>
    </tr><tr>
      <td class="Cmite">{_lang_to}</td>
      <td class="Cnorm"><input name="bis" value="{bis}"></td>
    </tr><tr>
      <td class="Cmite">{_lang_ground}</td>
      <td class="Cnorm"><textarea name="betreff" cols="50" rows="10">{betreff}</textarea></td>
    </tr><tr class="Cdark">
      <td></td>
      <td><input type="submit" value="Absenden"></td>
    </tr>
    </table>
    </form>
    {EXPLODE}
    <table width="100%" border="0" cellpadding="2" cellspacing="1" class="border">
    <tr class="Chead">
    <td><strong>{_lang_datemanage}</strong></td></tr>
    {EXPLODE}
    <tr class="{class}">
    <td><span style="float: right;">{_lang_from}: {von} - {bis},&nbsp; <u>{status}</u></span>
    <b>{name}</b><hr style="width: 200px;" align="left">
    {betreff}
    </td>
    </tr>
    {EXPLODE}
    </table>
    <br />



    Zuletzt modifiziert von Saarlonz am 09.10.2015 - 22:59:36
    1 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    MonkeyOnKeyboard Moderator
    Registriert seit
    10.02.2014
    Beiträge
    437
    Beitragswertungen
    20 Beitragspunkte
    Super in der 1.1P läuft das super... ich danke dir. muss nur noch schauen warum es auf meiner Testumgebung 1.1q nicht angezeigt wird.

    Aber das muss ich mal so überlegen.
    Bin super dankbar.

    EDIT:

    Ich bekomm es in meiner testumgebung für die version 1.1q nicht so richtig zum laufen.

    hier mal screenshoot
    [img]http://prntscr.com/8pudgc[/img]

    <?php 
    //   Copyright by: Manuel
    //   Support: www.ilch.de
    
    defined ('main') or die ( 'no direct access' );
    
    //Text der gesendet wird, wenn ein neuer Eintrag ertellt wird
    $message1 = $lang['awaycalnewenquiry'];
    //Text der gesendet wird, wenn ein Eintrag bearbeitet wird
    $message2 = $lang['awaycalchangedenquiry'];
    //Text fuer den User wenn der Status geandert wurde
    $message3 = $lang['awaycalstatuschanged'];
    
    # function
    function away_sendpmtoleaders ($m,$uid,$a) {
      $q = "SELECT
        DISTINCT prefix_user.id as uid
      FROM prefix_user
        LEFT JOIN prefix_groupusers ON prefix_groupusers.uid = ".$uid."
        LEFT JOIN prefix_groups ON prefix_groups.id = prefix_groupusers.gid
      WHERE recht <= -7
         OR (`mod1` = prefix_user.id AND uid = ".$uid.")
         OR (`mod2` = prefix_user.id AND uid = ".$uid.")
         OR (`mod3` = prefix_user.id AND uid = ".$uid.")
         OR (`mod4` = prefix_user.id AND uid = ".$uid.")";
      $erg = db_query($q);
      while ($r = db_fetch_assoc($erg)) {
        sendpm($_SESSION['authid'], $r['uid'], 'Away-Anfrage', $m, -1);
      }
    }
    $ILCH_HEADER_ADDITIONS .= "\n<link href=\"//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css\" rel=\"stylesheet\">";
    $title = $allgAr['title'].' :: Awaycalender';
    $hmenu = 'Awaycalender';
    $design = new design ( $title , $hmenu );
    $design->header();
    
    $tpl = new tpl ( 'awaycal.htm' );
    
    if($_SESSION['authright'] > -3) { //Pruefen ob der User ein TrialMember oder mehr ist
      echo $lang['nopermission'];
      $design->footer(1);
    }
    
    # status aendern
    if ($menu->getA(1) == 'c' AND is_numeric($menu->getE(1)) AND is_numeric($menu->get(2)) AND is_siteadmin('awaycal')) {
      $uid = db_result(db_query("SELECT uid FROM prefix_awaycal WHERE id = ".$menu->getE(1)),0);
      db_query("UPDATE prefix_awaycal SET pruef = ".$menu->get(2)." WHERE id = ".$menu->getE(1));
      sendpm($_SESSION['authid'], $uid, 'Away-Anfrage', $message3);
    }
    
    if ($menu->getA(1) == 'd' AND is_numeric($menu->getE(1)) AND is_siteadmin('awaycal')) {
      db_query("DELETE FROM prefix_awaycal WHERE id = ".$menu->getE(1));
    }
    
    $erga = db_query("SELECT name, id FROM prefix_user WHERE id != " . $_SESSION['authid']);
    while ($ra = db_fetch_assoc($erga)) {
        $option .= '<option value="' . $ra['id'] . '">' . $ra['name'] . '</option>';
    }
     
    if ($_SESSION['authright'] <= -8) {
        $row['USERSELECT'] = '<div class="ilch_case_in Cmite"><label class="ilch_float_l label_40">User</label><select class="form-control" name="userselect"><option value="" style="display:none;"></option>' . $option . '</select></div>';
    }else{
        $row['USERSELECT'] = '';
    }
        $tpl->set_ar_out($row, 2);
    
    # eintragen
    if (isset($_POST['ch'])) {
      $von = get_datum(escape($_POST['von'], 'string'));
      $bis = get_datum(escape($_POST['bis'], 'string'));
      $bet = escape($_POST['betreff'], 'string');
     
     if ($_POST['userselect'] == '') {
            $uid = $_SESSION['authid'];
        } else {
            $uid = $_POST['userselect'];
        }
    if (empty($_POST['ch'])) {
            away_sendpmtoleaders($message1, $uid, 0);
            db_query("INSERT INTO prefix_awaycal (uid,von,bis,betreff) VALUES (" . $uid . ",'" . $von . "','" . $bis . "','" . $bet . "')");
        } else {
            $id = escape($_POST['ch'], 'integer');
            $uid = db_result(db_query("SELECT uid FROM prefix_awaycal WHERE id = " . $id), 0);
            if (is_siteadmin('awaycal') OR $uid == $_SESSION['authid']) {
                away_sendpmtoleaders($message2, $uid, 1);
                db_query("UPDATE prefix_awaycal SET von = '" . $von . "', bis = '" . $bis . "', betreff = '" . $bet . "' WHERE id = " . $id);
            }
        }
    }
    
    $tpl->out(1); $class = '';
    $statusar = array (2 => $lang['reported'], 1 => $lang['rejected'], 3 => $lang['allowed']);
    $erg = db_query("SELECT pruef, DATE_FORMAT(von,'%d.%m.%Y') as von, DATE_FORMAT(bis,'%d.%m.%Y') as bis, betreff, prefix_user.name, uid, prefix_awaycal.id FROM prefix_awaycal LEFT JOIN prefix_user ON prefix_user.id = prefix_awaycal.uid ORDER BY id DESC");
    while($r = db_fetch_assoc($erg)) {
      $class = ($class == 'Cmite' ? 'Cnorm' : 'Cmite' );
      $r['class']  = $class;
      $r['status'] = $statusar[$r['pruef']];
      if ($r['uid'] == $_SESSION['authid'] OR is_siteadmin('awaycal')) {
        $r['betreff'] .= '<br><span class="ilch_float_r"><a class="ilch_closed_icon" href="index.php?awaycal-d'.$r['id'].'"  title="'.$lang['delete'].'"><i class="fa fa-times"></i></a><a class="ilch_edit_icon" href="index.php?awaycal-e'.$r['id'].'" title="'.$lang['change'].'"><i class="fa fa-pencil-square-o"></i></a>';
        if (is_siteadmin('awaycal')) {
          $r['betreff'] .= '<a class="ilch_nob_icon" href="index.php?awaycal-c'.$r['id'].'-1" title="'.$lang['reject'].'"><i class="fa fa-thumbs-o-down"></i></a><a class="ilch_yep_icon" href="index.php?awaycal-c'.$r['id'].'-3" title="'.$lang['allow'].'"><i class="fa fa-thumbs-o-up"></i></a>';
        }
        $r['betreff'] .= '</span><br>';
      }
      $tpl->set_ar_out($r,2);
    }
    $tpl->out(3);
    
    $e = FALSE;
    if ($menu->getA(1) == 'e' AND is_numeric($menu->getE(1))) {
      $id = escape($menu->getE(1), 'intger');
      $ar = db_fetch_assoc(db_query("SELECT uid, id, von, bis, betreff FROM prefix_awaycal WHERE id = ".$id));
      $e |= (is_siteadmin('awaycal') OR $ar['uid'] == $_SESSION['authid']);
    }
    
    if ($e == FALSE) { $ar = array('id'=>'','von'=>date('d.m.Y'),'bis'=>date('d.m.Y'),'betreff'=>''); }
    $tpl->set_ar_out($ar,0);
    $design->footer();
    ?>



    <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet">
    <form action="index.php?awaycal" method="POST">
        <div class="border">
        <input type="hidden" name="ch" value="{id}">
            <div class="ilch_case">
                <div class="Chead"><strong>{_lang_dateform}</strong></div>
    			{USERSELECT}
                <div class="ilch_case_in Cmite">
                    <label class="ilch_float_l label_40">{_lang_from}</label><input name="von" value="{von}"><br>
                    <label class="ilch_float_l label_40">{_lang_to}</label><input name="bis" value="{bis}"><br>
                    <label class="ilch_float_l label_40 ilch_vertikal_top">{_lang_ground}</label><textarea name="betreff" rows="10" cols="40">{betreff}</textarea><br><br>
                    <label class="ilch_float_l label_40"></label><input type="submit" value="Absenden">
                </div>
            </div>
        </div>
    </form>
    {EXPLODE}
    <div class="border">
        <div class="ilch_case">
            <div class="Chead"><strong>{_lang_datemanage}</strong></div>
            {EXPLODE}
            <div class="ilch_case_in {class}">
                <span class="ilch_float_r smalfont">{_lang_from}: {von} - {bis},&nbsp; <u>{status}</u></span>
                <strong>{name}</strong><hr>
                {betreff}
            </div>
            {EXPLODE}
        </div>
    </div>



    Zuletzt modifiziert von magicmarkus am 10.10.2015 - 17:24:50
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    Saarlonz Hall Of Fame
    Registriert seit
    07.08.2008
    Beiträge
    3.003
    Beitragswertungen
    235 Beitragspunkte
    Dateien für 1.1q

    .htm
    <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet">
    <form action="index.php?awaycal" method="POST">
        <div class="border">
        <input type="hidden" name="ch" value="{id}">
            <div class="ilch_case">
                <div class="Chead"><strong>{_lang_dateform}</strong></div>
                <div class="ilch_case_in Cmite">
                    {USERSELECT}
                    <label class="ilch_float_l label_40">{_lang_from}</label><input name="von" value="{von}"><br>
                    <label class="ilch_float_l label_40">{_lang_to}</label><input name="bis" value="{bis}"><br>
                    <label class="ilch_float_l label_40 ilch_vertikal_top">{_lang_ground}</label><textarea name="betreff" rows="10" cols="40">{betreff}</textarea><br><br>
                    <label class="ilch_float_l label_40"></label><input type="submit" value="Absenden">
                </div>
            </div>
        </div>
    </form>
    {EXPLODE}
    <div class="border">
        <div class="ilch_case">
            <div class="Chead"><strong>{_lang_datemanage}</strong></div>
            {EXPLODE}
            <div class="ilch_case_in {class}">
                <span class="ilch_float_r smalfont">{_lang_from}: {von} - {bis},&nbsp; <u>{status}</u></span>
                <strong>{name}</strong><hr>
                {betreff}
            </div>
            {EXPLODE}
        </div>
    </div>


    .php
    <?php 
    //   Copyright by: Manuel
    //   Support: www.ilch.de
    
    defined ('main') or die ( 'no direct access' );
    
    //Text der gesendet wird, wenn ein neuer Eintrag ertellt wird
    $message1 = $lang['awaycalnewenquiry'];
    //Text der gesendet wird, wenn ein Eintrag bearbeitet wird
    $message2 = $lang['awaycalchangedenquiry'];
    //Text fuer den User wenn der Status geandert wurde
    $message3 = $lang['awaycalstatuschanged'];
    
    # function
    function away_sendpmtoleaders ($m,$uid,$a) {
      $q = "SELECT
        DISTINCT prefix_user.id as uid
      FROM prefix_user
        LEFT JOIN prefix_groupusers ON prefix_groupusers.uid = ".$uid."
        LEFT JOIN prefix_groups ON prefix_groups.id = prefix_groupusers.gid
      WHERE recht <= -7
         OR (`mod1` = prefix_user.id AND uid = ".$uid.")
         OR (`mod2` = prefix_user.id AND uid = ".$uid.")
         OR (`mod3` = prefix_user.id AND uid = ".$uid.")
         OR (`mod4` = prefix_user.id AND uid = ".$uid.")";
      $erg = db_query($q);
      while ($r = db_fetch_assoc($erg)) {
        sendpm($_SESSION['authid'], $r['uid'], 'Away-Anfrage', $m, -1);
      }
    }
    $ILCH_HEADER_ADDITIONS .= "\n<link href=\"//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css\" rel=\"stylesheet\">";
    $title = $allgAr['title'].' :: Awaycalender';
    $hmenu = 'Awaycalender';
    $design = new design ( $title , $hmenu );
    $design->header();
    
    $tpl = new tpl ( 'awaycal.htm' );
    
    if($_SESSION['authright'] > -3) { //Pruefen ob der User ein TrialMember oder mehr ist
      echo $lang['nopermission'];
      $design->footer(1);
    }
    
    # status aendern
    if ($menu->getA(1) == 'c' AND is_numeric($menu->getE(1)) AND is_numeric($menu->get(2)) AND is_siteadmin('awaycal')) {
      $uid = db_result(db_query("SELECT uid FROM prefix_awaycal WHERE id = ".$menu->getE(1)),0);
      db_query("UPDATE prefix_awaycal SET pruef = ".$menu->get(2)." WHERE id = ".$menu->getE(1));
      sendpm($_SESSION['authid'], $uid, 'Away-Anfrage', $message3);
    }
    
    if ($menu->getA(1) == 'd' AND is_numeric($menu->getE(1)) AND is_siteadmin('awaycal')) {
      db_query("DELETE FROM prefix_awaycal WHERE id = ".$menu->getE(1));
    }
    
    $erga = db_query("SELECT name, id FROM prefix_user WHERE id != " . $_SESSION['authid']);
    while ($ra = db_fetch_assoc($erga)) {
        $option .= '<option value="' . $ra['id'] . '">' . $ra['name'] . '</option>';
    }
     
    if ($_SESSION['authright'] <= -8) {
        $userselect = '<label class="ilch_float_l label_40">User</label><select name="userselect"><option value="" style="display:none;"></option>' . $option . '</select><br>';
    }else{
        $userselect = '';
    }
    
    # eintragen
    if (isset($_POST['ch'])) {
      $von = get_datum(escape($_POST['von'], 'string'));
      $bis = get_datum(escape($_POST['bis'], 'string'));
      $bet = escape($_POST['betreff'], 'string');
      
      if ($_POST['userselect'] == '') {
            $uid = $_SESSION['authid'];
        } else {
            $uid = $_POST['userselect'];
        }
      
      if (empty($_POST['ch'])) {
        away_sendpmtoleaders ($message1,$uid,0);
        db_query("INSERT INTO prefix_awaycal (uid,von,bis,betreff) VALUES (".$uid.",'".$von."','".$bis."','".$bet."')");
      } else {
        $id = escape($_POST['ch'],'integer');
        $uid = db_result(db_query("SELECT uid FROM prefix_awaycal WHERE id = ".$id),0);
        if (is_siteadmin('awaycal') OR $uid == $_SESSION['authid']) {
          away_sendpmtoleaders ($message2,$uid,1);
          db_query("UPDATE prefix_awaycal SET von = '".$von."', bis = '".$bis."', betreff = '".$bet."' WHERE id = ".$id);
        }
      }
    }
    
    $tpl->out(1); $class = '';
    $statusar = array (2 => $lang['reported'], 1 => $lang['rejected'], 3 => $lang['allowed']);
    $erg = db_query("SELECT pruef, DATE_FORMAT(von,'%d.%m.%Y') as von, DATE_FORMAT(bis,'%d.%m.%Y') as bis, betreff, prefix_user.name, uid, prefix_awaycal.id FROM prefix_awaycal LEFT JOIN prefix_user ON prefix_user.id = prefix_awaycal.uid ORDER BY id DESC");
    while($r = db_fetch_assoc($erg)) {
      $class = ($class == 'Cmite' ? 'Cnorm' : 'Cmite' );
      $r['class']  = $class;
      $r['status'] = $statusar[$r['pruef']];
      if ($r['uid'] == $_SESSION['authid'] OR is_siteadmin('awaycal')) {
        $r['betreff'] .= '<br><span class="ilch_float_r"><a class="ilch_closed_icon" href="index.php?awaycal-d'.$r['id'].'"  title="'.$lang['delete'].'"><i class="fa fa-times"></i></a><a class="ilch_edit_icon" href="index.php?awaycal-e'.$r['id'].'" title="'.$lang['change'].'"><i class="fa fa-pencil-square-o"></i></a>';
        if (is_siteadmin('awaycal')) {
          $r['betreff'] .= '<a class="ilch_nob_icon" href="index.php?awaycal-c'.$r['id'].'-1" title="'.$lang['reject'].'"><i class="fa fa-thumbs-o-down"></i></a><a class="ilch_yep_icon" href="index.php?awaycal-c'.$r['id'].'-3" title="'.$lang['allow'].'"><i class="fa fa-thumbs-o-up"></i></a>';
        }
        $r['betreff'] .= '</span><br>';
      }
      $tpl->set_ar_out($r,2);
    }
    $tpl->out(3);
    
    $e = FALSE;
    if ($menu->getA(1) == 'e' AND is_numeric($menu->getE(1))) {
      $id = escape($menu->getE(1), 'intger');
      $ar = db_fetch_assoc(db_query("SELECT uid, id, von, bis, betreff FROM prefix_awaycal WHERE id = ".$id));
      $e |= (is_siteadmin('awaycal') OR $ar['uid'] == $_SESSION['authid']);
    }
    
    if ($e == FALSE) { $ar = array('id'=>'','von'=>date('d.m.Y'),'bis'=>date('d.m.Y'),'betreff'=>''); }
    $tpl->set('USERSELECT',$userselect,0);
    $tpl->set_ar_out($ar,0);
    $design->footer();
    ?>
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    Ah ich wollte es mir gerade anschauen lachen
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    MonkeyOnKeyboard Moderator
    Registriert seit
    10.02.2014
    Beiträge
    437
    Beitragswertungen
    20 Beitragspunkte
    Super ich habs auch nun gesehen wo du das design sprich den übergab von der phpdatei in das template gemacht hast. wär ich nie drauf gekommen.
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Module und Modifikationen

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten