<?php
	define('thisscript','settings');

	require_once "globalad.php";
	
	if (empty($useraccess['settings'])){
		redirecting('index.php');
	}
	
	/* sanitize post, get, request */
	$_POST['submits'] = ((empty($_POST['submits']))?"":$_POST['submits']);
	$_POST['grp'] = ((empty($_POST['grp']))?"":$_POST['grp']);
	$_REQUEST['s'] = ((empty($_REQUEST['s']))?"":$_REQUEST['s']);
	$_GET['keyword'] = ((empty($_GET['keyword']))?array():$_GET['keyword']);
	$_GET['field'] = ((empty($_GET['field']))?array():$_GET['field']);
	/* end sanitize */
	
	if ($_POST['submits'] == 'Ubah' && !empty($_POST['grp'])){
		/* save setting */
		$setgroup = $_POST['grp'];
		$updating = '';
		foreach ($_POST as $key => $value){			
			if ($key == 'ymsrcpass'){
				$db->query("UPDATE settings SET value='".$db->clean(encrypt($value))."' WHERE varkey='ymsrcpass' AND grouping='confirmation'");
			}
			else{
				$rsdata = $db->fetch_one("SELECT varkey, data_type FROM settings WHERE varkey='".$db->clean($key)."' AND grouping='".$db->clean($setgroup)."'");
				if (empty($rsdata['varkey'])){
					continue;
				}

				$update = false;
				switch ($rsdata['data_type']){
					case 'numeric'	:
						if (ctype_digit($value) && isset($value))
							$update = true;
						break;
					case 'free' 	:
						$update = true;
						break;
					case 'decimal'	:
						if (is_numeric($value) && isset($value))
							$update = true;
						break;
				}
				if ($update){
					if ($key == 'cs1' || $key == 'cs2'){
						$db->query("UPDATE settings SET value='".$db->clean($value)."' WHERE varkey='".$db->clean($key)."' AND grouping='".$db->clean($setgroup)."'");
					}
					else{
						$db->query("UPDATE settings SET value='".$db->clean(htmlentities($value))."' WHERE varkey='".$db->clean($key)."' AND grouping='".$db->clean($setgroup)."'");
					}
				}
			}
		}
		redirecting("settings.php?s=".$setgroup);
	}
	
	$s = $_REQUEST['s'];
	if (empty($s)){
		$s = 'general';
	}

	$dbset = $db->fetch_all("SELECT * FROM settings WHERE grouping='".$db->clean($s)."' ORDER BY setting_order ASC");
	$contentset = '';
	if (sizeof($dbset) > 0){
		foreach ($dbset as $rsset){
			if ($rsset['varkey'] == 'defaultlangid' || $rsset['varkey'] == 'sitedescription'){
				continue;
			}
			$contentset .= '
				<div class="form-group">
					<label class="control-label col-sm-4" for="admin_access">'.$rsset['phrase'].'</label>
					<div class="col-sm-8">
			';
			switch ($rsset['input_type']){
				case 'text'		:
					$contentset .= '
						<input type="text" class="form-control validate[required]" id="'.$rsset['varkey'].'" name="'.$rsset['varkey'].'" size="50" value="'.html_entity_decode($rsset['value']).'">
					';
					break;
				case 'password'		:
					$contentset .= '
						<input type="password" class="form-control validate[required]" id="'.$rsset['varkey'].'" name="'.$rsset['varkey'].'" size="50" value="">
					';
					break;
				case 'radio_yes_no'	:
					$contentset .= '
								<label class="radio-inline"><input type="radio" name="'.$rsset['varkey'].'" id="radio_'.$rsset['sid'].'_yes" value="1"'.(($rsset['value']==1)?' checked':'').'>Yes</label>
								<label class="radio-inline"><input type="radio" name="'.$rsset['varkey'].'" id="radio_'.$rsset['sid'].'_no" value="0"'.(($rsset['value']==0)?' checked':'').'>No</label>
					';
					break;
				case 'textarea'	:
					$contentset .= '
						<textarea class="form-control validate[required]" id="'.$rsset['varkey'].'" name="'.$rsset['varkey'].'" rows="10" cols="70">'.html_entity_decode($rsset['value']).'</textarea>
					';
					break;
				case 'option' :
					$contentset .= '<select name="'.$rsset['varkey'].'" id="'.$rsset['varkey'].'" class="form-control">';
					$optvale = explode("|",$rsset['option_value']);
					if (sizeof($optvale) > 0){
						foreach ($optvale as $valueopt){
							$valueoptarray = explode('^',$valueopt);
							$valueoptarray[0] = empty($valueoptarray[0])?'':$valueoptarray[0];
							$valueoptarray[1] = empty($valueoptarray[1])?'':$valueoptarray[1];
							$contentset .= '<option value="'.$valueoptarray[0].'"'.(($valueoptarray[0]==$rsset['value'])?' selected':'').'>'.$valueoptarray[1].'</option>';
						}
					}
					$contentset .= '</select>';

					break;
			}
			$contentset .= '
					</div>
				</div>
			';
		}
	}

	$srs = $db->fetch_all("SELECT * FROM settings GROUP BY grouping ORDER BY group_order ASC");
	$gset = '';
	if (sizeof($srs) > 0){
		$gset = '<select name="grp" onchange="loadpagefromcombo(this,\'settings.php?s=\')" class="form-control">';
		foreach ($srs as $rsrs){
			$gset .= '<option value="'.$rsrs['grouping'].'"'.(($rsrs['grouping']==$s)?' selected':'').'>'.$rsrs['groupingname'].'</option>';
		}
		$gset .= '</select>';
	}
	
	require_once 'incl/global_template.php';

	$tmpl = gettemplate('settings');
	eval("\$template = \"$tmpl\";");
	echo $template;
?>