ich bräuchte mal wieder euere Hilfe.
Ich möchte neben den Spezialrang noch einen weiteren Spezialrang anzeigen lassen.
Dazu habe ich bereits in der ic1_user ein Feld mit spezrank1 und in der ic1_ranks ein Feld mit spez1 angelegt.
Der Datei admin/user/user.php habe ich folgende Funktion zugefügt oben die original unten, die von mir:
# den Rang eines users aendern case 'changeRank' : $uid = $menu ->get(2); $altes_recht = db_result(db_query( "SELECT recht FROM prefix_user WHERE id = " . $uid ),0); $neuer_rank = escape( $_GET [ 'newr' ], 'integer' ); if ( $altes_recht > $_SESSION [ 'authright' ] OR $_SESSION [ 'authright' ] == -9) { $q = "UPDATE prefix_user SET spezrank = " . $neuer_rank . " WHERE id = " . $uid ; db_query( $q ); } ?><html><head><script language= "JavaScript" type= "text/javascript" ><!-- function closeThisWindow() { opener.focus(); window.close(); } closeThisWindow() //--></script></head><body></body></html><?php break ; # den Aufstieg eines users aendern case 'changeRank1' : $uid = $menu ->get(2); $altes_recht = db_result(db_query( "SELECT recht FROM prefix_user WHERE id = " . $uid ),0); $neuer_rank = escape( $_GET [ 'newr' ], 'integer' ); if ( $altes_recht > $_SESSION [ 'authright' ] OR $_SESSION [ 'authright' ] == -9) { $q = "UPDATE prefix_user SET spezrank1 = " . $neuer_rank . " WHERE id = " . $uid ; db_query( $q ); } ?><html><head><script language= "JavaScript" type= "text/javascript" ><!-- function closeThisWindow() { opener.focus(); window.close(); } closeThisWindow() //--></script></head><body></body></html><?php break ; |
Das Template dazu:
<script language= "JavaScript" type= "text/javascript" > <!-- function setufocus() { document.f.q.focus(); } // manage div ... document.onmousemove = checkPosition; function checkPosition(e) { if (document.all) { mausX = event.clientX + document.body.scrollLeft; mausY = event.clientY + document.body.scrollTop; } else { mausX = e.pageX; mausY = e.pageY; } } function alertpos(dname) { if (document.layers) { document.layers[0].left = mausX; document.layers[0].top = mausY; } else if (document.getElementById) { document.getElementById(dname).style.left = (mausX + 10) + "px" ; document.getElementById(dname).style.top = (mausY + 50 ) + "px" ; } document.getElementById(dname).style.display = "inline" ; } function hiddpos(dname) { document.getElementById(dname).style.display = "none" ; } function changeUserRight (id1) { var x = confirm ( 'Das Recht dieses Users wirklich aendern?' ); if (x) { var newr = document.getElementById( 'recht' +id1).value; var Fenster = window.open ( 'admin.php?user-changeRecht-' + id1 + '=0&newr=' + newr, 'changeRecht' , 'status=no,scrollbars=no,height=10,width=10' ); Fenster.focus(); } } function changeUserRank (id1) { var x = confirm ( 'Den Rang dieses Users wirklich aendern?' ); if (x) { var newr = document.getElementById( 'spezrank' +id1).value; var Fenster = window.open ( 'admin.php?user-changeRank-' + id1 + '=0&newr=' + newr, 'changeRank' , 'status=no,scrollbars=no,height=10,width=10' ); Fenster.focus(); } } function changeUserRank1 (id1) { var x = confirm ( 'Aufstiegsvorasusetzungen wirklich aendern?' ); if (x) { var newr = document.getElementById( 'spezrank1' +id1).value; var Fenster = window.open ( 'admin.php?user-changeRank1-' + id1 + '=0&newr=' + newr, 'changeRank1' , 'status=no,scrollbars=no,height=10,width=10' ); Fenster.focus(); } } function changeGruppen (id1) { var Fenster = window.open ( 'admin.php?user-gruppen-' + id1, 'changeGruppen' , 'status=yes,scrollbars=yes,height=500,width=250,left=300,top=50' ); Fenster.focus(); } function changeModulrecht (id1) { var Fenster = window.open ( 'admin.php?user-modulrecht-' + id1, 'changeModulrecht' , 'status=yes,scrollbars=yes,height=500,width=250,left=300,top=50' ); Fenster.focus(); } function deleteUser (id1) { var x = confirm ( 'Diesen User wirklich komplett entfernen?' ); if (x) { var Fenster = window.open ( 'admin.php?user-deleteUser-' + id1, 'deleteUser' , 'status=no,scrollbars=no,height=10,width=10' ); Fenster.focus(); } } function changeModulRecht ( modul, uid ) { var aktion = 'loeschen' ; if ( document.getElementById( "MN" + modul + uid).checked == true ) { aktion = 'eintragen' ; } var Fenster = window.open ( 'admin.php?user-modulrecht-' +uid+ '=0&modul=' + modul + '&aktion=' + aktion, 'changeModulRecht' , 'status=no,scrollbars=no,height=10,width=10' ); } //--> </script> <div style= "float:right" ><a href= "admin.php?puser" >Noch nicht bestätigte Registrierungen verwalten</a></div> <body onLoad= "setufocus()" > <form action= "admin.php" name= "f" method= "GET" style= "padding: 0px; margin:0px 0px 0px 0px;" > <input type= "hidden" name= "user" value= "" /> <table cellpadding= "3" cellspacing= "1" border= "0" class = "border" style= "float:left" > <tr> <td class = "Cmite" ><input name= "q" value= "{q}" /></td> <td class = "Cdark" ><input type= "submit" value= "Suchen" /></td> </tr> </table> </form> <br /> <br /> <br /> <table cellpadding= "3" cellspacing= "1" border= "0" class = "border" > <tr> <td colspan= "8" ></td> <td class = "Cmite" colspan= "{anzmods}" ><b>Modulrechte:</b></td> </tr> <tr class = "Chead" > <th width= "300" >Name</th> <th>Recht</th> <th>RanK</th> <th>Aufstieg</th> <th>Gruppe</th> <th></th> <th></th> <th class = "border" > </th> {modlall} </tr> { EXPLODE } <tr class = "{class}" > <td><div onMouseOver= "hiddpos('groupdiv{id}')" id= "groupdiv{id}" style= "position:absolute; top:50px; left:50px; display:none; width:200px;" > <table width= "100%" class = "border" border= "0" cellspacing= "1" cellpadding= "4" > <tr> <td class = "{class}" align= "left" >{grouplist}</td> </tr> </table> </div><strong>{name}</strong></td> <td><select id= "recht{id}" onChange= "changeUserRight({id})" >{recht}</select></td> <td><select id= "spezrank{id}" onChange= "changeUserRank({id})" >{spezrank}</select></td> <td><select id= "spezrank1{id}" onChange= "changeUserRank1({id})" >{spezrank1}</select></td> <td style= "text-align: center;" ><a onMouseOut= "hiddpos('groupdiv{id}')" onMouseOver= "alertpos('groupdiv{id}')" href= "javascript:changeGruppen({id})" title= "hier die Gruppenzugehörigkeit ändern" >Gruppen</a></td> <td> <a href= "admin.php?user-1-{id}" ><img src= "include/images/icons/edit.gif" border= "0" title= "ändern" alt= "ändern" /></a> </td> <td> <a href= "javascript:deleteUser({id})" ><img src= "include/images/icons/del.gif" border= "0" title= "löschen" alt= "löschen" /></a> </td> <td class = "border" ></td> {modslist} </tr> { EXPLODE } </table> <p>{MPL}</p> |
Nun habe ich die admin/range.php noch wie folgt abgeändert:
<?php // Copyright by: Manuel // Support: www.ilch.de defined ( 'main' ) or die ( 'no direct access' ); defined ( 'admin' ) or die ( 'only admin access' ); $design = new design ( 'Admins Area' , 'Admins Area' , 2); $design ->header(); $um = $menu ->get(1); if ( empty ( $um ) AND empty ( $_GET [ 'um' ]) AND empty ( $_POST [ 'um' ])) { $tpl = new tpl ( 'range' , 1); $tpl ->out(0); $clas = 'cbg2' ; $erg = db_query( 'SELECT * FROM `prefix_ranks` ORDER BY spez DESC, min' ); while ( $row = db_fetch_object( $erg )) { if ( $clas == 'Cmite' ) { $clas = 'Cnorm' ; } else { $clas = 'Cmite' ; } if ( $row ->spez == 1) { $min = '-' ; $spez = 'ja' ; } else { $min = $row ->min; $spez = 'nein' ; } if ( $row ->spez1 == 1) { $min = '-' ; $spez1 = 'ja' ; } else { $min = $row ->min; $spez1 = 'nein' ; } $ar = array ( 'ID' => $row ->id, 'AUFSTIEG' => $spez1 , 'SPEZ' => $spez , 'CLASS' => $clas , 'BEZ' => $row ->bez, 'MIN' => $min ); $tpl ->set_ar_out( $ar , 1); } $tpl ->out(2); } elseif ( $um == 1) { db_query( 'DELETE FROM `prefix_ranks` WHERE id = "' . $menu ->get(2) . '" LIMIT 1' ); db_query( 'UPDATE `prefix_user` SET spezrank = 0 WHERE spezrank = "' . $menu ->get(2) . '"' ); db_query( 'UPDATE `prefix_user` SET spezrank1 = 0 WHERE spezrank1 = "' . $menu ->get(2) . '"' ); wd ( 'admin.php?range' , 'Erfolgreich gelöscht' , 1); } elseif ( $um == 2) { if ( empty ( $_POST [ 'sub' ])) { $rid = $menu ->get(2); if ( empty ( $rid )) { $Fsub = 'Eintragen' ; $Fbez = '' ; $Fmin = '' ; $Fjch = '' ; $Fnch = 'checked' ; $Frid = '' ; $Fakt = 'insert' ; } else { $abf = 'SELECT * FROM `prefix_ranks` WHERE id = "' . $rid . '"' ; $erg = db_query( $abf ); $row = db_fetch_object( $erg ); $Fsub = 'Ändern' ; $Fbez = $row ->bez; $Fmin = $row ->min; if ( $row ->spez1 == 1) { $Fjch = 'checked' ; $Fnch = '' ; } else { $Fnch = 'checked' ; $Fjch = '' ; } if ( $row ->spez == 1) { $Fjch = 'checked' ; $Fnch = '' ; } else { $Fnch = 'checked' ; $Fjch = '' ; } $Frid = $row ->id; $Fakt = 'change' ; } $tpl = new tpl ( 'range' , 1); $ar = Array ( 'SUB' => $Fsub , 'BEZ' => $Fbez , 'MIN' => $Fmin , 'JCH' => $Fjch , 'NCH' => $Fnch , 'JCH1' => $Fjch , 'NCH1' => $Fnch , 'RID' => $Frid , 'AKT' => $Fakt ); $tpl ->set_ar_out( $ar , 3); } else { $_POST [ 'bez' ] = escape( $_POST [ 'bez' ], 'textarea' ); $_POST [ 'min' ] = escape( $_POST [ 'min' ], 'integer' ); $_POST [ 'spez' ] = escape( $_POST [ 'spez' ], 'integer' ); $_POST [ 'spez1' ] = escape( $_POST [ 'spez1' ], 'integer' ); $_POST [ 'rid' ] = escape( $_POST [ 'rid' ], 'integer' ); if ( empty ( $_POST [ 'rid' ])) { if ( $_POST [ 'spez' ] == 1) { $_POST [ 'min' ] = '0' ; } if ( $_POST [ 'spez1' ] == 1) { $_POST [ 'min' ] = '0' ; } db_query( 'INSERT INTO `prefix_ranks` (`bez`,`min`,`spez`,`spez1`) VALUES ( "' . $_POST [ 'bez' ] . '","' . $_POST [ 'min' ] . '","' . $_POST [ 'spez' ] . '","' . $_POST [ 'spez1' ] . '" ) ' ); wd ( 'admin.php?range' , 'Erfolgreich eingetragen' , 1); } else { if ( $_POST [ 'spez' ] == 1) { $_POST [ 'min' ] = '0' ; } if ( $_POST [ 'spez1' ] == 1) { $_POST [ 'min' ] = '0' ; } db_query( 'UPDATE `prefix_ranks` SET bez = "' . $_POST [ 'bez' ] . '", min = "' . $_POST [ 'min' ] . '", spez = "' . $_POST [ 'spez' ] . '",spez = "' . $_POST [ 'spez1' ] . '" WHERE id = "' . $_POST [ 'rid' ] . '"' ); wd ( 'admin.php?range' , 'Erfolgreich geändert' , 1); } } } $design ->footer(); ?> |
und die passende admin/range.htm
<table cellpadding= "0" cellspacing= "0" border= "0" ><tr><td><img src= "include/images/icons/admin/ranks.png" /></td><td width= "30" ></td><td valign= "bottom" ><h1>Ranks</h1></td></tr></table> <table cellspacing= "1" cellpadding= "5" broder= "0" class = "border" > <tr class = "Chead" > <td>Rank Bezeichnung</td> <td>Ab X Posts</td> <td>Spezialrang</td> <td>Aufstieg</td> <td></td> <td></td> </tr> { EXPLODE } <tr class = "{CLASS}" > <td>{BEZ}</td> <td align= "center" >{MIN}</td> <td align= "center" >{SPEZ}</td> <td align= "center" >{AUFSTIEG}</td> <td><a href= "?range-2-{ID}" >Bearbeiten</a></td> <td><a href= "?range-1-{ID}" >Löschen</a></td> </tr> { EXPLODE } <tr class = "Cdark" > <td colspan= "5" height= "50" align= "center" ><input type= "button" value= "Neuen Rang eintragen" onClick= "document.location.href='?range-2'" ></td> </tr> </table> { EXPLODE } <form action= "admin.php?range-2" method= "POST" > <input type= "hidden" name= "rid" value= "{RID}" > <input type= "hidden" name= "akt" value= "{AKT}" > <table cellspacing= "1" cellpadding= "5" broder= "0" class = "border" > <tr> <td class = "Chead" colspan= "2" >Rank - Administration</td> </tr><tr> <td class = "Cmite" >Rankname</td> <td class = "Cnorm" ><input type= "text" name= "bez" value= "{BEZ}" ></td> </tr><tr> <td class = "Cmite" >Ab X Posts</td> <td class = "Cnorm" ><input type= "text" name= "min" value= "{MIN}" ></td> </tr><tr> <td class = "Cmite" >Spezialrang</td> <td class = "Cnorm" ><input type= "radio" value= "1" name= "spez" {JCH}> Ja <input type= "radio" value= "0" name= "spez" {NCH}> Nein</td> </tr><tr> <td class = "Cmite" >Aufstieg</td> <td class = "Cnorm" ><input type= "radio" value= "1" name= "spez1" {JCH1}> Ja <input type= "radio" value= "0" name= "spez1" {NCH1}> Nein</td> </tr><tr> <td class = "Cdark" ></td> <td class = "Cdark" ><input type= "submit" value= "{SUB}" name= "sub" ></td> </tr> </table> </form> <p><br /> <b>Merke</b><br /> - Ab X Posts wird der dazu gehörige Rangname benutz bis die nächste Ab Zahl erreicht wird usw. <br /> - Spizalrangs kannst du für besondere Benutzer festlegen. Die Ränge kannst du später dann vergeben.</p> <p>-Aufstiegsvorasussetzungen sind bereits eingetragen. </p> |
Ich kann ganz normal einen Rang zuordnen. Da steht dann:
Bezeichnung-Ab x Posts-Spezialrang-Aufstieg
blablabla - ein Minuszeichen - nein - ja
In der userverwaltung wird mir der neue Eintrag aber immer unter Spezialrang, anstatt unter Aufstieg angezeigt.
Wo habe ich da einen Fehler gemacht?