* @version DS-E V/2.5 */ $str_filename = basename(__FILE__); require_once 'common.php'; require_once(LIB_PATH.'jslib.lib.php'); $access_control->su_check(access_control::SU_RIGHT_RPRATING,true); $arr_ratings = array(-1=>'Auf dem Prüfstand',0=>'Nicht bewertet',1=>'Durchschnitt',2=>'Exzellent',3=>'Blubberplayer'); $str_out = '`c`&`bRollenspiel-Management`b`n`n `@Für göttliche Admins und Mods - gewidmet dem tollen Team von atrahor.de!`&`n powered by `7a`4luja`7x `n`n`c'; // Evtl. Fehler / Erfolgsmeldungen anzeigen if($session['message'] != '') { $str_out .= '`n`b'.$session['message'].'`0`b`n`n'; $session['message'] = ''; } // END Evtl. Fehler / Erfolgsmeldungen anzeigen // MAIN SWITCH $str_op = ($_REQUEST['op'] ? $_REQUEST['op'] : ''); switch($str_op) { case 'rate': $int_uid = (int)$_GET['uid']; $int_rating = (int)$_GET['rating']; $int_rating = min($int_rating,3); $int_rating = max($int_rating,-1); user_set_aei(array('rprating'=>$int_rating),$int_uid); debuglog('änderte RP-Bewertung auf '.$arr_ratings[$int_rating],$int_uid); jslib_http_command('/mb Bewertung geändert!'); exit(); break; case 'reset_rp': $int_uid = (int)$_GET['uid']; user_set_stats(array('comments_rp'=>0),$int_uid); debuglog('setzte RP-Kommentare auf 0',$int_uid); jslib_http_command('/mb RP-Kommentare auf 0 gesetzt!'); exit(); break; case 'save_com': $int_uid = (int)$_GET['uid']; user_set_aei(array('rprating_data'=>addslashes(stripslashes($_POST['com_value']))),$int_uid); jslib_http_command('/mb Kommentar gespeichert!'); exit(); break; case 'load_com': $int_uid = (int)$_GET['uid']; $arr_tmp = user_get_aei('rprating_data',$int_uid); $arr_tmp['rprating_data'] = htmlspecialchars(strip_appoencode($arr_tmp['rprating_data'],3)); // Letzte Logs ermitteln $res = db_query('SELECT a.name,d.date FROM debuglog d LEFT JOIN accounts a ON d.actor=a.acctid WHERE d.message="%RP-Bewertung%" AND d.target='.$int_uid.' ORDER BY d.date DESC LIMIT 5'); $arr_tmp['logs'] = db_create_list($res); //jslib_http_command(serialize($arr_tmp)); jslib_http_command($arr_tmp['rprating_data']); exit(); break; default: $str_where = ' WHERE 1 '; // "Neulinge" $int_rated = (int)$_REQUEST['rated']; if($int_rated == 0) { $str_where .= ' AND rprating=0 AND comments_rp > 0 '; } elseif ($int_rated == -1) { $str_where .= ' AND rprating=-1 '; } elseif ($int_rated == 2) { $str_where .= ' AND rprating=2 '; } elseif ($int_rated == 3) { $str_where .= ' AND rprating=3 '; } $str_order = ($_REQUEST['order'] == 'asc' ? 'ASC' : 'DESC'); $str_orderby = ''; switch ($_REQUEST['orderby']) { case 'login': $str_orderby = 'login'; break; case 'comments_rp_ges': $str_orderby = 'comments_rp_ges'; break; case 'comments_rp': $str_orderby = 'comments_rp'; break; case 'rprating': $str_orderby = 'rprating'; break; case 'comments': $str_orderby = 'comments'; break; case 'comlen': $str_orderby = 'comlen'; break; case 'rp_ratio': $str_orderby = 'rp_ratio'; break; default: if($int_rated<1) { $str_orderby = 'comments_rp'; } else { $str_orderby = 'comments_rp_ges'; } break; } // Suche nach Login if(!empty($_REQUEST['search'])) { $str_search_in = substr(urldecode($_REQUEST['search']),0,80); $str_search = str_create_search_string($str_search_in); $str_where .= ' AND login LIKE "'.$str_search.'" '; } // Navi addnav(($int_rated==0 ? 'U?`^' : 'U?').'Zeige Unbewertete',$str_filename.'?rated=0'); addnav(($int_rated==-1 ? 'P?`^' : 'P?').'Zeige Prüflinge',$str_filename.'?rated=-1'); addnav(($int_rated==2 ? 'E?`^' : 'E?').'Zeige Exzellente',$str_filename.'?rated=2'); addnav(($int_rated==3 ? 'B?`^' : 'B?').'Zeige Blubberplayer',$str_filename.'?rated=3'); addnav(($int_rated==1 ? 'A?`^' : 'A?').'Zeige Alle',$str_filename.'?rated=1'); $arr_form = array ( 'search'=>'Suche in Login:,text,80', 'orderby'=>'Ordnen nach:,enum,comments_rp_ges,RP-Posts ges.,login,Name,comments_rp,RP-Posts aktuell,rprating,Bewertung,comments,Posts gesamt,rp_ratio,RP-Verhältnis', 'order'=>'Reihenfolge:,enum,desc,Absteigend,asc,Aufsteigend' ); $str_out .= ''; addnav('',$str_filename.'?rated='.$int_rated); $str_headline = ' `bAcctID`b `bSpieler`b `bRP-Posts ges.`b `bPosts ges.`b `bRP-Posts`b `bPostlänge`b `bRPPosts/Posts`b '; $str_out .= '`c '.$str_headline; addpregnav('/'.$str_filename.'\?op=rate&uid=\d{1,}&rating=[-]{0,1}\d{1}/'); addpregnav('/'.$str_filename.'\?op=reset_rp&uid=\d{1,}/'); addpregnav('/'.$str_filename.'\?op=save_com&uid=\d{1,}/'); addpregnav('/'.$str_filename.'\?op=load_com&uid=\d{1,}/'); addpregnav('/httpreq_usermenu.php\?op=exp_[fh]ire&id=\d{1,}/'); $str_sql = 'SELECT a.name,a.acctid,rprating,comments_rp_ges,comments,comments_rp,expedition,rprating_data, ROUND(commentlength / comments) AS comlen, comments_rp'.($int_rated>0 ? '_ges':'').' / comments AS rp_ratio FROM accounts a LEFT JOIN account_extra_info USING(acctid) LEFT JOIN account_stats USING(acctid)'; $str_count_sql = 'SELECT COUNT(*) AS c FROM accounts LEFT JOIN account_extra_info USING(acctid) LEFT JOIN account_stats USING(acctid)'; $str_sql .= $str_where.' ORDER BY '.$str_orderby.' '.$str_order; $str_count_sql .= $str_where; $arr_page_res = page_nav($str_filename.'?orderby='.$str_orderby.'&order='.$str_order.'&search='.urlencode($str_search_in).'&rated='.$int_rated,$str_count_sql); $str_sql .= ' LIMIT '.$arr_page_res['limit']; $str_trclass = 'trlight'; $res = db_query($str_sql); if(db_num_rows($res) == 0) { $str_out .= ''; } $int_counter = 0; while($a = db_fetch_assoc($res)) { $int_counter++; // Alle x Zeilen mal ne Headline if(!(($int_counter+1) % 20)) { $str_out .= $str_headline; } $str_trclass = ('trlight' == $str_trclass ? 'trdark' : 'trlight'); $str_out .= ''; } $str_out .= '
'.generateform($arr_form,$_REQUEST,false,'Suche!').'
`iKeine Accounts vorhanden! (Was auch immer du dann hier treibst.. Freak!)`i
'.$a['acctid'].' '.$a['name'].' '.$a['comments_rp_ges'].' '.$a['comments'].' '.$a['comments_rp'].' '.$a['comlen'].' '.$a['rp_ratio'].'
  '; $str_out .= ' [ +/- ] [ RP-Posts zurücksetzen! ] [ Expi `b'.($a['expedition'] ? 'aus':'ein').'schalten`b! ] [ Kommentare ]
`c'; break; } page_header('Rollenspiel-Management'); addnav('Zurück'); grotto_nav(); output( $str_out ); page_footer(); ?>