You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			146 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			PHP
		
	
			
		
		
	
	
			146 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			PHP
		
	
| <?php
 | |
| /*
 | |
|  * Created on 03.10.2007
 | |
|  *
 | |
|  * @copyright (c) 2009 animegame.eu
 | |
|  * @license http://www.gnu.org/licenses/gpl-3.0.html GNU General Public Licence
 | |
|  *
 | |
|  */
 | |
| /******************************************************************************
 | |
| * Dieser Skript enthält Funktionen für das Darstellen und Verwalten der FAQ.
 | |
| *******************************************************************************
 | |
| * Autor: Pascal Proksch
 | |
| * Erstellungsdatum: 03.10.2007
 | |
| * Zuletzt verändert: 03.10.2007
 | |
| *******************************************************************************/
 | |
| 
 | |
| include_once(ROOT_PATH.'/include/config/db.inc.php');
 | |
| include_once(ROOT_PATH.'/include/parse.inc.php');
 | |
| 
 | |
| function insertFaqEntry($parent, $header, $body){
 | |
| 	mysql_query('INSERT INTO `faq_entries` ( `id` , `parent` , `header` , `body` ) VALUES (NULL , \''.$parent.'\', \''.encodeNoHTMLWithBB($header).'\', \''.encodeNoHTMLWithBB($body).'\')');
 | |
| }
 | |
| 
 | |
| function getAllFaqEntries(){
 | |
| 	$sql = 'Select * from faq_entries order by parent';
 | |
| 	$qry = mysql_query($sql);
 | |
| 	$returnArray = array();
 | |
| 	$tempArray[0] = & $returnArray;
 | |
| 	while($result = mysql_fetch_assoc($qry)){
 | |
| 		$tempArray[$result['parent']][$result['id']]['node'] = $result;
 | |
| 		$tempArray[$result['id']] = & $tempArray[$result['parent']][$result['id']];
 | |
| 	}
 | |
| 	return $returnArray;
 | |
| }
 | |
| 
 | |
| function getTableOfContentsRec($number,$values,$pre,$app){
 | |
| 	$string ='';
 | |
| 	if($values['node']['header'] != null){
 | |
| 		if($values['node']['parent'] == 0){
 | |
| 			$string = preg_replace(array('/###ID###/','/###ROW###/'),array($values['node'][id], 'tr><td> </td></tr><th align="left" colspan="2"'),$pre).'Thema '.$number.' '.$values['node']['header'].$app;		
 | |
| 		} else{
 | |
| 			$string = preg_replace(array('/###ID###/','/###ROW###/'),array($values['node'][id], 'td width="10"> </td><td'),$pre).$number.' '.$values['node']['header'].$app;					
 | |
| 		}
 | |
| 	}
 | |
| 	$keys = array_keys($values);
 | |
| 	$i = 1;
 | |
| 	foreach($keys as $key){
 | |
| 		if(is_numeric($key)){
 | |
| 			$string .= getTableOfContentsRec($number.($i++).'.',$values[$key],$pre,$app);
 | |
| 		}
 | |
| 	}
 | |
| 	return $string;
 | |
| }
 | |
| 
 | |
| function getTableOfContents($pre,$app){
 | |
| 	$val = getAllFaqEntries();
 | |
| 	$ret = getTableOfContentsRec("",$val,$pre,$app);
 | |
| 	return $ret;
 | |
| }
 | |
| 
 | |
| function getContextRec($number, $values, $pre1, $pre2, $app1, $app2){
 | |
| 	$string ='';
 | |
| 	if($values['node']['header'] != null){
 | |
| 		$string .= preg_replace('/###ID###/',$values['node'][id],$pre1).$number.' '.$values['node']['header'].$app1."\n";
 | |
| 	}
 | |
| 	if($values['node']['body'] != null){
 | |
| 		$string .= preg_replace('/###ID###/',$values['node'][id],$pre2).preg_replace('#\n#','<br>',$values['node']['body']).$app2."\n";
 | |
| 	}
 | |
| 	$keys = array_keys($values);
 | |
| 	$i = 1;
 | |
| 	foreach($keys as $key){
 | |
| 		if(is_numeric($key)){
 | |
| 			$string .= getContextRec($number.($i++).'.',$values[$key],$pre1, $pre2, $app1, $app2);
 | |
| 		}
 | |
| 	}
 | |
| 	return $string;
 | |
| }
 | |
| 
 | |
| function getContext($pre1, $pre2, $app1, $app2){
 | |
| 	$val = getAllFaqEntries();
 | |
| 	$ret = getContextRec("",$val, $pre1, $pre2, $app1, $app2);
 | |
| 	return $ret;
 | |
| }
 | |
| 
 | |
| function getEntry($faqentry){
 | |
| 	$sql = 'Select * from faq_entries WHERE id = '.$faqentry;
 | |
| 	$qry = mysql_query($sql);
 | |
| 	return mysql_fetch_assoc($qry);
 | |
| }
 | |
| 
 | |
| function updateEntry($faqentry, $parent,$header,$body){
 | |
| 	$parentpart = $parent!=null?'parent = '.$parent.',':'';
 | |
| 	$sql = 'UPDATE faq_entries SET '.$parentpart.' header = \''.encodeNoHTMLWithBB($header).'\', body = \''.encodeNoHTMLWithBB($body).'\' WHERE id = '.$faqentry;
 | |
| 	mysql_query($sql);
 | |
| }
 | |
| 
 | |
| function moveUp($faqentry){
 | |
| 	$entry = getEntry($faqentry);
 | |
| 	$sql = 'Select * from faq_entries WHERE parent = '.$entry['parent'].' AND id < '.$entry['id'].' order by id desc LIMIT 1';
 | |
| 	$qry = mysql_query($sql);
 | |
| 	$entry2 = mysql_fetch_assoc($qry);
 | |
| 	if(!$entry2){ // Er ist schon der höchste
 | |
| 		return;
 | |
| 	}
 | |
| 	$sql2 = 'Select * from faq_entries WHERE parent = '.$faqentry;
 | |
| 	$qry2 = mysql_query($sql2);
 | |
| 	while($row = mysql_fetch_assoc($qry2)){
 | |
| 		$ids[] = $row['id'];
 | |
| 	}
 | |
| 	mysql_query('UPDATE faq_entries SET header = \''.$entry2['header'].'\', body = \''.$entry2['body'].'\' where id = '.$entry['id']);
 | |
| 	mysql_query('UPDATE faq_entries SET header = \''.$entry['header'].'\', body = \''.$entry['body'].'\' where id = '.$entry2['id']);
 | |
| 
 | |
| 	mysql_query('Update faq_entries SET parent = '.$entry['id'].' where parent = '.$entry2['id']);
 | |
| 	mysql_query('Update faq_entries SET parent = '.$entry2['id'].' where id IN ('.join($ids, ',').')');
 | |
| }
 | |
| 
 | |
| function moveDown($faqentry){
 | |
| 	$entry = getEntry($faqentry);
 | |
| 	$sql = 'Select * from faq_entries WHERE parent = '.$entry['parent'].' AND id > '.$entry['id'].' order by id asc LIMIT 1';
 | |
| 	$qry = mysql_query($sql);
 | |
| 	$entry2 = mysql_fetch_assoc($qry);
 | |
| 	if(!$entry2){ // Er ist schon der höchste
 | |
| 		return;
 | |
| 	}
 | |
| 	$sql2 = 'Select * from faq_entries WHERE parent = '.$faqentry;
 | |
| 	$qry2 = mysql_query($sql2);
 | |
| 	while($row = mysql_fetch_assoc($qry2)){
 | |
| 		$ids[] = $row['id'];
 | |
| 	}
 | |
| 	mysql_query('UPDATE faq_entries SET header = \''.$entry2['header'].'\', body = \''.$entry2['body'].'\' where id = '.$entry['id']);
 | |
| 	mysql_query('UPDATE faq_entries SET header = \''.$entry['header'].'\', body = \''.$entry['body'].'\' where id = '.$entry2['id']);	
 | |
| 
 | |
| 	mysql_query('Update faq_entries SET parent = '.$entry['id'].' where parent = '.$entry2['id']);
 | |
| 	mysql_query('Update faq_entries SET parent = '.$entry2['id'].' where id IN ('.join($ids, ',').')');
 | |
| }
 | |
| 
 | |
| function getChildren($faqentry){
 | |
| 	$sql = 'Select * from faq_entries where parent = '.$faqentry.' order by id asc';
 | |
| 	$qry = mysql_query($sql);
 | |
| 	while($row = mysql_fetch_assoc($qry)){
 | |
| 		$ret[] = $row;
 | |
| 	}
 | |
| 	return $ret;
 | |
| }
 | |
| 
 | |
| ?>
 |