$v) { if (isset($guild[$k])){ $guild[$k] = $v; } } dg_save_guild(); redirect('dg_su.php?op=edit&gid='.$gid); } elseif($_GET['subop'] == 'save_builds') { if($_POST['recent'] && is_array($guild['build_list'][0])) { $guild['build_list'][0][1] = $_POST['recent']; if($_POST['recent'] == 0) { // wenn abgeschlossen.. $type = $g['build_list'][0][0]; $guild['build_list'][$type] = min($guild['build_list'][$type]+1,12); $guild['build_list'][0][0] = 0; } } foreach($dg_builds as $k=>$b) { $guild['build_list'][$k] = (int)$_POST['build'.$k]; } dg_save_guild(); redirect('dg_su.php?op=edit&gid='.$gid); } dg_show_member_list($gid,4); output('`n`n'); dg_show_builds($gid,false,1); $types = '0,Keiner'; foreach($dg_child_types as $k=>$t) { $types .= ','.$k.','.$t[0].' ('.$dg_types[$t[3]]['name'].')'; } $prof_list = ''; foreach($profs as $k=>$p) { $prof_list .= $k.': '.$p[0].';`n'; } output('`n`n'); $edit_form = array( 'Allgemeines,title', 'guildid'=>'Gildenid,viewonly', 'name'=>'Gildenname', 'bio'=>'Gildenbio,textarea,40,20', 'rules'=>'Gildenregeln,textarea,40,20', 'guild_own_description'=>'Gildenhalle,textarea,40,20', 'points'=>'Gildenpunkte,int', 'reputation'=>'Ansehen,int', 'atk_upgrade'=>'Angriffsupgrade,enum_order,0,3', 'def_upgrade'=>'Verteidigungsupgrade,enum_order,0,3', 'state'=>'Gildenstatus,enum,'.DG_STATE_INACTIVE.',Inaktiv,'.DG_STATE_ACTIVE.',Aktiv', 'founded'=>'Gildengründung,viewonly', 'founder'=>'Gründer (Userid),int', 'guard_hp'=>'Aktuelle Anzahl an Gildenwachen,int', 'guard_hp_before'=>'Anzahl an Gildenwachen vor Krieg,int', 'war_target'=>'Aktuelles Kriegsziel (Gildenid),int', 'immune_days'=>'Verbleibende Spieltage Immunität,int', 'regalia'=>'Insignien,int', 'gold'=>'Gold,int', 'gems'=>'Edelsteine,int', 'gold_in'=>'Goldeinzahlung bisher an diesem Spieltag,int', 'gems_in'=>'Gemeinzahlung bisher an diesem Spieltag,int', 'taxdays'=>'Tage seit letzter Steuerzahlung,int', 'fights_suffered'=>'Angriffe an diesem Spieltag,int', 'fights_suffered_period'=>'Angriffe in letzter Zeit,int', 'type'=>'Gildentyp,enum,'.$types, 'Sondereinstellungen,title', 'professions_allowed'=>'Erlaubte Ämter in Gilde (Zahlenwert mit Komma. Leerlassen für alle Ämter:`n'.$prof_list.')', 'guildwar_allowed'=>'Gildenkrieg für diese Gilde erlaubt,enum,1,Ja,0,Nein', 'taxfree_allowed'=>'Steuerfreiheit für diese Gilde,enum,1,Ja,0,Nein', 'Listen & Sonstiges,title', 'lastupdate'=>'Letztes Update,viewonly', 'build_list'=>'Ausbauten,viewonly', 'points_spent'=>'Ausgegebene Punkte,viewonly', 'treaties'=>'Verträge,viewonly', 'transfers'=>'Transfers,viewonly', 'ranks'=>'Ränge,viewonly' ); $savelink = 'dg_su.php?op=edit&subop=save&gid='.$gid; output('
',true); addnav('',$savelink); grotto_nav(); addnav('Logs','dg_su.php?op=logs&gid='.$gid); addnav('E?Zum Editor','dg_su.php'); break; case 'delete': $gid = ($_GET['gid']) ? $_GET['gid'] : 0; if(!$gid) {redirect('dg_su.php');} if($_GET['subop'] == 'ok') { dg_massmail($gid,'`4Gilde gelöscht!','`4Die Gilde, in der du Mitglied warst, wurde von den Mods aufgelöst.`n Noch vorhandene Schätze wurden auf die Mitglieder verteilt.'); dg_delete_guild($gid); redirect('dg_su.php'); } else { output('`4Gilde ID '.$gid.' ('.$session['guilds'][$gid]['name'].'`4) wirklich löschen?'); addnav('Nein!','dg_su.php'); addnav('Ja!','dg_su.php?op=delete&subop=ok&gid='.$gid); } break; // END del case 'activate': $gid = ($_GET['gid']) ? $_GET['gid'] : 0; if(!$gid) {redirect('dg_su.php');} $guild = &dg_load_guild($gid); // Wenn erst gegründet if($guild['last_state_change'] == '0000-00-00 00:00:00') { // Wieder in den Bauzustand versetzen $guild['state'] = DG_STATE_IN_PROGRESS; } else { $guild['state'] = DG_STATE_ACTIVE; $guild['last_state_change'] = date('Y-m-d H:i:s'); } dg_massmail($gid,'`@Gilde aktiviert!','`@Deine Gilde wurde von den Göttern wieder freigegeben und kann nun weiter genutzt werden.'); dg_save_guild(); redirect('dg_su.php'); break; case 'deactivate': $gid = ($_GET['gid']) ? $_GET['gid'] : 0; if(!$gid) {redirect('dg_su.php');} $guild = &dg_load_guild($gid); dg_massmail($gid,'`4Gilde deaktiviert!','`4Deine Gilde wurde von den Mods deaktiviert. Wahrscheinlich hat sie nicht genügend Mitglieder (min. '.getsetting('dgminmembers',3).') bzw. keinen Gildenführer.'); if($guild['state'] != DG_STATE_IN_PROGRESS) { $guild['last_state_change'] = date('Y-m-d H:i:s'); } else { $guild['last_state_change'] = '0000-00-00 00:00:00'; } $guild['state'] = DG_STATE_INACTIVE; dg_save_guild(); redirect('dg_su.php'); break; case 'logs': $gid = $_GET['gid']; $sql = 'SELECT dg_log.*,g1.name as guildname,g2.name as targetname FROM dg_log LEFT JOIN dg_guilds as g1 ON g1.guildid=dg_log.guild LEFT JOIN dg_guilds as g2 ON g2.guildid=dg_log.target WHERE dg_log.guild='.$gid.' OR dg_log.target='.$gid.' ORDER by dg_log.date DESC,dg_log.logid ASC LIMIT 500'; $result = db_query($sql); $odate = ""; while($row=db_fetch_assoc($result)) { $dom = date("D, M d",strtotime($row['date'])); if ($odate != $dom){ output("`n`b`@".$dom."`b`n"); $odate = $dom; } $time = date("H:i:s", strtotime($row['date'])); output($time.' - '.$row['guildname'].' '.$row['message']); if ($row['target']) output(' '.$row['targetname']); output("`n"); } addnav('Zurück',$g_ret_page); break; case 'callking': savesetting('dgkingdays','0'); savesetting('newdaysemaphore','0000-00-00 00:00:00'); $session['user']['lasthit'] = 0; addnav('Zurück','dg_main.php'); break; case 'new': dg_show_header('Gilde anlegen'); $str_out = ''; $int_id = (int)$_REQUEST['id']; // AccountID gegeben: Restformular anzeigen! if(!empty($int_id)) { $str_name = $_POST['name']; $int_type = (int)$_POST['type']; $arr_acc = db_fetch_assoc(db_query('SELECT name,login,acctid FROM accounts WHERE acctid='.$int_id)); // Wenn Daten gegeben: Speichern! if(!empty($str_name) && !empty($int_type)) { $arr_data = array ( 'founder'=>$int_id, 'founded'=>getsetting('gamedate',''), 'name'=>$str_name, 'type'=>$int_type, 'immune_days'=>getsetting('dgimmune',6), 'ranks'=>$dg_default_ranks, 'state'=>DG_STATE_IN_PROGRESS, 'points'=>dg_calc_boni($gid,'startpts',getsetting('dgstartpoints',10)), 'regalia'=>dg_calc_boni($gid,'startregalia',getsetting('dgstartregalia',10)), 'guard_hp'=>dg_calc_boni($gid,'startguardhp',100) ); db_insert('dg_guilds',$arr_data); $int_gid = db_insert_id(); user_update( array ( 'guildid'=>$int_gid, 'guildfunc'=>DG_FUNC_LEADER, 'guildrank'=>1 ), $int_id ); dg_addnews($arr_acc['name'].'`@ hat die Gilde '.$str_name.'`@ gegründet!',$arr_acc['acctid'],$int_gid); addhistory('`2Gegründet von '.$arr_acc['name'].'`2!',2,$int_gid); addhistory('`2Gründung der Gilde '.$str_name.'`2',1,$arr_acc['acctid']); systemmail($int_id,'`b`2Deine Gilde wurde angenommen!`0`b', 'Sei gegrüßt!`n`nDie von dir eingereichte Gildenidee wurde von den Göttern für gut befünden und freigeschaltet.`n Du kannst nun im Gildenviertel die Residenz deine Gilde beziehen. Zunächst solltest du dich daran machen, die Gilde fertigzustellen.'); $session['message'] = '`@Gilde erfolgreich angelegt!`0'; redirect($str_filename); } else { addnav('Anderer Gründer!',$str_filename.'?op=new'); $str_lnk = $str_filename.'?op=new&id='.$int_id; addnav('',$str_lnk); $str_out .= '`c'; } } else { // Sonst: Suchformular anzeigen $str_lnk = $str_filename.'?op=new'; addnav('',$str_lnk); if(getsetting('dgguildmax',100) <= dg_count_guilds()) { $str_out .= '`$Achtung: `&Das in den Spieleinstellungen festgelegte Gildenlimit wurde bereits erreicht.`n`n'; } $str_out .= '`c`c'; } output($str_out,true); addnav('Zurück'); addnav('Zum Editor',$str_filename); break; } page_footer(); ?>