'.ucfirst($arr_category['category_name']).''; } } else { $str_sql = 'SELECT category_id, category_name FROM special_category'; $db_result = db_query($str_sql); while ($arr_category = db_fetch_assoc($db_result)) { $arr_categories[] = $arr_category; $str_output .= ''; } } return $str_output; } if ($_GET['op']=='') { $str_output.=get_title('`7Specialeditor').' Mit diesem Tool kann festgelegt werden, welches Special, ab welcher Anzahl an Heldentaten, wie oft und mit welcher Wahrscheinlichkeit eintreten wird.'; } elseif ($_GET['op']=='neu') { if ($dir = @dir('./special')) { $files_on_hdd = array(); while (false !== ($file = $dir->read())) { if (strpos($file,'.php')>0) { $files_on_hdd[] = $file; } } $dir->close(); // eingetragene specials auslesen $sql = 'SELECT filename FROM special_events'; $result = db_query($sql); $anzahl = db_num_rows($result); // in array speichern while($row = db_fetch_assoc($result)) { $files_in_db[]=$row['filename']; } if (count($files_on_hdd)==0) { $str_output.='`b`@

Keine Specials vorhanden

`n'; } else { $str_output .= '`c`b`7Special Einstellungen:`0`b`c`n`7'; // checken $i=0; foreach($files_on_hdd as $val) { if (!in_array($val,$files_in_db)) { $sql = " INSERT INTO special_events (filename, descr, prio, dk, anzahl) VALUES ('".$val."', 'keine Beschreibung vorhanden', '0', '0', '0')"; db_query($sql); $str_output .= strip_appoencode($sql).'
'; $i++; } } $str_output.='`bEs wurden '.$i.' neue Specials eingetragen.`b`n'; } } else { $str_output.='`c`b`$FEHLER!!!`b`c`&Kann den Ordner mit den Specials nicht finden. Bitte benachrichtige den Admin!! Du bist der Admin?!?... Ja... das könnte sich zum Problem entwickeln'; } // gelöschte Specials aus DB löschen $j=0; if (count($files_in_db)>0) { foreach($files_in_db as $val) { $str_path = './special/'.$val; if (!file_exists($str_path)) { $sql = " DELETE FROM special_events WHERE filename = '".$val."' "; db_query($sql); $str_output .= $sql.'`n'; $j++; } } } $str_output.='`bEs wurden '.$j.' Specials aus der Datenbank gelöscht`b`n`0'; if ($i+$j==0) { $str_output='

Es gibt keine Veränderungen im Special-Ordner...

'; } } elseif($_GET['op']=='edit') { $sql = " SELECT * FROM special_events ORDER BY category_id ASC, filename ASC "; $result = db_query($sql); $anzahl = db_num_rows($result); if ($anzahl) { $str_output.=' `n`n Special Editor`n`n Priorität absteigend! Je niedrieger die Prio ist, desto öfters kommt das Special dran!`n Achte darauf, dass mind. ein Special Prio 0 und DK 0 hat!`n`n
'; addnav('','su_specialeditor.php?op=save'); $str_output.=''; $str_output.=''; $i=0; $color[0]='#008000'; $color[1]='#14EAD3'; $color[2]='#E6E629'; $color[3]='#F26A10'; $color[4]='#FF0000'; while($row = db_fetch_assoc($result)) { $str_back_class = ($str_back_class == 'trlight')?'trdark':'trlight'; $str_output.=''; $str_output.=''; $str_output.=''; $str_output.=''; $str_output.=""; $str_output.=""; $str_output.=""; $str_output.="'; $str_output.=''; $str_output.=""; $i++; } //Categories Array wird ab hie rnicht mehr gebraucht. Also weg damit unset($arr_categories); $str_output.='
Nr. Dateiname Autor Priorität MinDk Freigeschaltet Kategorie
'.$row['filename'].' '; $str_output.=""; $str_output.=""; $str_output.='
".plu_mi($i,0,false)." Beschreibungen

'; $str_output.='
'; } // ende check ob was in DB steht else { // steht nix in DB $str_output.='

Du solltest erstmal ein paar Specials importieren!

'; } } elseif($_GET['op']=='save') { $count = count($_POST['data']); for ($i=0;$i<$count;$i++) { if(!isset($_POST['data'][$i]['checked'])) { continue; } $sql = " UPDATE special_events SET prio = '".abs((int)$_POST['data'][$i]['prio'])."', dk = '".abs((int)$_POST['data'][$i]['dk'])."', author = '".db_real_escape_string($_POST['data'][$i]['author'])."', descr = '".db_real_escape_string($_POST['data'][$i]['descr'])."', public_description = '".db_real_escape_string($_POST['data'][$i]['public_description'])."', anzahl = '".abs((int)$_POST['data'][$i]['anzahl'])."', released = '".(int)$_POST['data'][$i]['released']."', category_id = '".(int)$_POST['data'][$i]['category_id']."' WHERE row_id = '".(int)$_POST['data'][$i]['row_id']."' "; db_query($sql); $check = db_error($link); if ($check!='') { $str_output.='
'.$check.'
'; } } $str_output .= "Einstellungen gespeichert!"; } else if($_GET['op']=='administrate_categories') { $str_sql = 'SELECT * FROM special_category'; $db_result = db_query($str_sql); $str_output = '`c`bListe aller vorhandenen Kategorien`b`c`n`n'; $str_output .= '`tDie folgende Liste enthält alle vorhandenen Kategorien in die Specials eingruppiert werden können. Jedem Special muss eine eindeutige Kategorie zugewiesen werden, damit es auch nur an dem für das Special vorgesehenen Ort auftaucht. Die Standard Kategorie für Specials lautet forest. Diese kann auch nicht gelöscht werden.`n`n`0
`n'; while ($arr_category = db_fetch_assoc($db_result)) { $str_output .= '
'.$arr_category['category_name'].' - '; $str_output .= '['.create_lnk('editieren',$str_file.'?op=administrate_categories_edit&category_id='. $arr_category['category_id'],false).']'; $str_output .= '['.create_lnk('löschen',$str_file.'?op=administrate_categories_del&category_id='. $arr_category['category_id'],false).']'; $str_output .= '
'; } addpregnav('/'.$str_file.'\?op=administrate_categories_(edit|del)&category_id=\d+/'); addnav('Neue Kategorie hinzufügen',$str_file.'?op=administrate_categories_edit'); } else if($_GET['op']=='administrate_categories_del') { if((int)$_GET['category_id'] != 1) { $str_sql = 'UPDATE special_events SET category_id=1, released=0 WHERE category_id='.(int)$_GET['category_id']; $db_result = db_query($str_sql); $str_sql = 'DELETE FROM special_category WHERE category_id='.(int)$_GET['category_id']; $db_result = db_query($str_sql); if($db_result !== false) { $str_output .= 'Die gewünschte Kategorie wurde gelöscht, alle darauf verweisenden Specials wurden auf die Standardkategorie gesetzt und deaktiviert'; } else { $str_output .= 'Die gewünschte Kategorie wurde nicht gelöscht!'; } } else { $str_output .= 'Die Kategorie forest kann nicht gelöscht werden!'; } } else if($_GET['op']=='administrate_categories_edit') { if(isset($_POST['add_category'])) { $str_sql = 'INSERT INTO special_category (category_name) VALUES ("'.$_POST['category_name'].'")'; $str_output .= $str_sql; $db_result = db_query($str_sql); if($db_result !== false) { $str_output .= 'Die gewünschte Kategorie wurde eingefügt'; } else { $str_output .= 'Die gewünschte Kategorie kann nicht eingefügt werden'; } } if(isset($_POST['edit_category'])) { $str_sql = 'UPDATE special_category SET category_name="'.$_POST['category_name'].'" WHERE category_id='.(int)$_POST['category_id']; $db_result = db_query($str_sql); if($db_result !== false) { $str_output .= 'Die gewünschte Kategorie wurde editiert'; } else { $str_output .= 'Die gewünschte Kategorie konnte nicht editiert werden'; } } //Editiere vorhandenes special if(isset($_GET['category_id'])) { if((int)$_GET['category_id'] != 1) { $str_sql = 'SELECT * FROM special_category WHERE category_id='.(int)$_GET['category_id']; $db_result = db_query($str_sql); $arr_category = db_fetch_assoc($db_result); if(db_num_rows($db_result) == 1) { $str_output .= '
'; $str_output .= 'Ändere den Namen der Kategorie
'; $str_output .= ''; $str_output .= ''; $str_output .= ''; $str_output .= '
'; } else { $str_output .= 'Die Kategorie konnte nicht gefunden werden'; } } else { $str_output .= 'Die Kategorie forest kann nicht editiert werden!'; } } //Erstelle neue Kategorie else { $str_output .= '
'; $str_output .= 'Erstelle eine neue Kategorie
'; $str_output .= ''; $str_output .= ''; $str_output .= '
'; } addnav('',$str_file.'?op=administrate_categories_edit'); } //Testen von Specials if($_GET['editor_op'] == 'test') { $session['user']['specialinc'] = ''; $str_output .= '`n`nSUPERUSER Specials:`n Alle hier getesteten Specials verhalten sich so als wären sie dort aufgerufen wo sie auch normalerweise zu finden sind. Das bedeutet: `bNach Beendigung des Specials landet ihr auch bspw. im Wald/Schenke/usw.`b`n`n`0'; $query_result = db_query('SELECT filename,category_name FROM special_events LEFT JOIN special_category USING (category_id) ORDER BY category_name ASC, filename ASC'); $str_category = ''; while (($row = db_fetch_assoc($query_result)) !== false) { if($str_category != $row['category_name']) { $str_category = $row['category_name']; $str_output .= '
`b'.$row['category_name'].'`b
' ; } $str_output .= create_lnk($row['filename'],$str_file.'?editor_op=run_test&file='.$row['filename'],true).'`n'; } } elseif ($_GET['editor_op'] == 'run_test') { spc_get_special('forest',1000,$_GET['file'],array('editor_op','file')); } addnav('Zurück'); grotto_nav(); addnav('In den Wald','forest.php'); output($str_output,true); page_footer(); ?>