danke aber leider hilft mir das auch ned weiter
mein code sieht volgendermaßen aus
function dj_info_box($id="0", $info="Keine Infos", $feld_id, $name="") {
global $sp_settings, $userdata, $locale;
$ausgabe = "";
if (!isnum($id)) fallback("index.php");
if ($id > 0) {
$info_result = dbquery("SELECT * FROM prefix_user WHERE id= '$id'");
if (db_num_rows($info_result) !== 0) {
$user_info = dbarray($info_result);
if (file_exists($user_info['avatar'])) { $avatar = "/".$user_info['avatar']; } elseif ($user_info['avatar'] == "" && $user_info['geschlecht'] == "1") { $avatar = "include/images/avatars/male.png";}
elseif ($user_info['avatar'] == "" && $user_info['geschlecht'] == "2") { $avatar = "include/images/avatars/female.png"; } else {$avatar = "include/images/avatars/wurstegal.png"; }
$infos= "<div align=\'center\'><? echo $avatar; ?><img src=\'".$avatar."\' /><br /><br /></div><b>".$locale['grsp122']."</b><br /><span class=\'info2\'>".$user_info['name']."</span><br /><br />".$mod."<b>".$locale['grsp123']."</b><br />".$info."<br /><br />";
$ausgabe .= '<a onmouseover="return overlib(\''.$infos.'\', STICKY, FGCLASS, \'sp1\', BGCLASS, \'sp2\', CAPTIONFONTCLASS, \'a\', CLOSEFONTCLASS, \'a\', CAPTION, \''.$locale['grsp139'].'\', RIGHT, CLOSETEXT, \' \');" onmouseout="return nd(\'true\');" href="index.php?user-details-'.$user_info['id'].'">'.($sp_settings['grss_djpic'] == 1 ? "<img src=\"".$avatar."\" height=\"40\" border=\"0\" /><br />" : "").$user_info['name'].'</a>';
if ( has_spezrank($sp_settings['grss_sgroup']) or has_spezrank($sp_settings['grss_ggroup']) or has_spezrank($sp_settings['grss_agroup']) or has_right(-9)) {
if ($sp_settings['grss_djedit'] == 1 or has_spezrank($sp_settings['grss_agroup']) or has_right(-9)) {
$ausgabe .= "<br /><input type='submit' value='".$locale['grsp130']."' class='button' style='width:80px;' onclick='popup=window.open(\"index.php?sendeplan-admin&status=edit&id=".$feld_id."\",\"DJ_Admin\",\"toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,width=500,height=220,left=250,top=250\"); return false;' />";
}
if ($sp_settings['grss_djoff'] == 1 || has_spezrank($sp_settings['grss_agroup']) || has_right(-9)) {
$ausgabe .= '<br /><form method="post" action="index.php?sendeplan&id='.$feld_id.'"><input type="submit" name="sp_delete" value="'.$locale['grsp131'].'" class="button" style="width:80px;" /></form>';
}
}
}
} elseif ($id == 0 && $name != "") {
$infos= "<div align=\'center\'><img src=\'../../include/images/avatars/nopic.gif\' /><br /><br /></div><b>".$locale['grsp122']."</b><br /><span class=\'info2\'>".$name."</span><br /><br /><b>".$locale['grsp123']."</b><br />".$info."<br /><br />";
$ausgabe .= '<a onmouseover="return overlib(\''.$infos.'\', STICKY, FGCLASS, \'sp1\', BGCLASS, \'sp2\', CAPTIONFONTCLASS, \'a\', CLOSEFONTCLASS, \'a\', CAPTION, \''.$locale['grsp139'].'\', RIGHT, CLOSETEXT, \' \');" onmouseout="return nd(\'true\');">'.($sp_settings['grss_djpic'] == 1 ? "<img src=\"../../include/images/avatars/nopic.gif\" height=\"40\" border=\"0\" /><br />" : "").$name.'</a>';
if (has_spezrank($sp_settings['grss_agroup']) || has_right(-9)) {
$ausgabe .= "<br /><input type='submit' value='".$locale['grsp130']."' class='button' style='width:80px;' onclick='popup=window.open(\"index.php?sendeplan-admin&status=edit&id=".$feld_id."\",\"DJ_Admin\",\"toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,width=500,height=220,left=250,top=250\"); return false;' />";
$ausgabe .= '<br /><form method="post" action="index.php?sendeplan&id='.$feld_id.'"><input type="submit" name="sp_delete" value="'.$locale['grsp131'].'" class="button" style="width:80px;" /></form>';
}
}
if ($ausgabe == "") {
if ($sp_settings['grss_djon'] == 1 && !($sp_settings['grss_week'] == 1 && $feld_id < 169) && (has_spezrank($sp_settings['grss_sgroup']) || has_spezrank($sp_settings['grss_ggroup'])) || has_right(-9) ) {
$ausgabe .= "<a href='javascript:;' onclick='popup=window.open(\"index.php?sendeplan-admin&status=add&id=".$feld_id."\",\"DJ_Admin\",\"toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,width=500,height=220,left=250,top=250\"); return false;'>".$locale['grsp121']."</a>";
} else {
$ausgabe .= ($sp_settings['grss_djpic'] == 1 && $sp_settings['grss_autodjpic'] == 1 ? "<img src=\"include/images/avatars/autodj.gif\" height=\"40\" border=\"0\" /><br />" : "").$locale['grsp120'];
}
}
if ($sp_settings['grss_replay'] == 1 && $feld_id > 168 && (has_spezrank($sp_settings['grss_agroup']) || has_right(-9))) {
$info_result = dbquery("SELECT * FROM prefix_sendeplan_replay WHERE grsr_re_id='".$feld_id."'");
if (dbrows($info_result) != 0) {
$ausgabe .= '<form method="post" action="index.php?sendeplan&id='.$feld_id.'"><input type="submit" name="sp_re_delete" value="'.$locale['grsp140'].'" class="button" style="width:80px;" /></form>';
}
}
return $ausgabe;
}
if (iMEMBER && IsSeT($_POST['sp_delete']) && isnum($_GET['id'])) {
$result = dbquery("UPDATE prefix_radio_sendeplan SET grs_user_id='0', grs_info='', grs_name='' WHERE grs_id='".$_GET['id']."'");
}
if (iMEMBER && IsSeT($_POST['sp_re_delete']) && isnum($_GET['id'])) {
if ($_GET['id'] < 169) { $id2 = $_GET['id'] + 168; } else { $id2 = $_GET['id']; }
$result = dbquery("DELETE FROM prefix_sendeplan_replay WHERE grsr_re_id='".$id2."'");
}
function has_spezrank ($rank){
$rank = @db_result(db_query('SELECT spezrank FROM prefix_user WHERE id ="'.$_SESSION['authid'].'"'));
if(!is_numeric($rank)){
$rid = @db_result(db_query('SELECT id FROM prefix_ranks WHERE bez ="'.$rank.'"'));
}
else{
$rid = $rank;
}
if($rank == $rid){
return true;
}
else{
return false;
}
}
in den zeilen 16, 17, 20, 29, 43 wird dann die funktion aufgerufenmit mehreren variablen
$sp_settings['grss_sgroup']
$sp_settings['grss_ggroup']
$sp_settings['grss_agroup']
in diesen 3 tabellen werden die ids von den ranks eingetragen
also
grss_sgroup bekommt die id vom rank für die djs
grss_ggroup bekommt die id vom rank für die gast djs
grss_agroup bekommt die id vom rank für die sendeplan admins (sendeleitung)
und bekanntlich werden ja auch die ids von den ranks in der user db unter spezrank gespeichert.
jetzt sollen mit der funktion die spezrank id von der userdb und die spezrank id von der settingsdb vom sendeplan verglichen werden und bei übereinstimmung erscheinen für den jeweiligen user die buttons zum arbeiten am sendeplan der unter folgenden link
externer Link zu erreichen ist.
Man kann dann direkt auf dem sendeplan arbeiten und eintragungen machen.
das problem ist bei der funktion von Sniper (danke dir) dass ein user der keine rechte hat trotzdem eine eingetragene sendung editieren oder auch löschen kann obwohl er keine rechte hat
ich hoffe ich habe jetzt erläutern können wo ich scheitere warscheinlich ist der lösungsweg auf der hand nur bin ich zu doof das zu kapieren
mfg Drako
Zuletzt modifiziert von Drako am 24.04.2012 - 20:16:25