<?php
///////////////////////////////////////////////////////////////////////////////////////////
///Script PHP/MYSQL of management of classifieds ads developed by Script PAG
///Script PAG all rights reserved. Use under license. http://www.script-pag.com
///////////////////////////////////////////////////////////////////////////////////////////

############################################################

require_once __DIR__.'/includes_adm/all_fns_adm.php';

///////////////////////////////////
//Check if the super admin is connected
//////////////////////////////////

if(!empty($_SESSION['valid_admin']))
$valid_admin = $_SESSION['valid_admin'];

if(!check_super_admin())
redirect('index.php');

///////////////////////////////////
//Validation of the action
//////////////////////////////////

if(!empty($_GET['act']))
{
	if($_GET['act'] >= 1 || $_GET['act'] <= 13)
	$act = (int) $_GET['act'];
	
	else redirect('index.php');
}
else redirect('index.php');

///////////////////////////////////
//Validation of the type of option
//////////////////////////////////
	
if($act >= 3 && $act <= 12)
{
	if(!empty($_GET['l']))
	{
		$l = (int) $_GET['l'];
		
		if($l != 1 && $l !=2 && $l !=3 && $l !=4)
		redirect('index.php');
	}
	else redirect('index.php');
}

///////////////////////////////////
//Initializing variable $error
//////////////////////////////////

$error = '';

///////////////////////////////////
//Validation of the subcategorie option
//////////////////////////////////

$id_cat_opt = (!empty($_GET['id_cat_opt'])) ? (int) $_GET['id_cat_opt'] : 0;

if(isset($_POST['par_cat_opt']))
$par_cat_opt = (int) $_POST['par_cat_opt'];

elseif(isset($_GET['par_cat_opt']))
$par_cat_opt = (int) $_GET['par_cat_opt'];

else $par_cat_opt = 0;

///////////////////////////////////
//Validation of the value option
//////////////////////////////////

$id_val = (!empty($_GET['id_val'])) ? (int) $_GET['id_val'] : 0;

///////////////////////////////////
//Managing the error
//////////////////////////////////

if(isset($_POST['cat']) && empty($_POST['cat']))
$error = 1;

///////////////////////////////////
//Add a note
//////////////////////////////////

if($act == 1)
{
	$id_cat = (isset($_GET['id_cat'])) ? (int) $_GET['id_cat'] : 0;
	
	if(!empty($_POST['cat']) && isset($_POST['par_cat']))
	{
		$id_cat = (int) $_POST['cat'];
		$par_cat = (int) $_POST['par_cat'];
		
		create_note($id_cat, $par_cat, $_POST);
		create_cache_cat();
		$conn = null;
		
		redirect('cat_opts.php?act=1&id_cat='. $id_cat .'&succes=1&menu=5');
	}
}

///////////////////////////////////
//Add a diclaimer
//////////////////////////////////

elseif($act == 2)
{
	$id_cat = (isset($_GET['id_cat'])) ? (int) $_GET['id_cat'] : 0;
	
	if(!empty($_POST['cat']))
	{
		$id_cat = (int) $_POST['cat'];
		$disc = (!empty($_POST['disc'])) ? (int) $_POST['disc'] : 0;
		
		create_disc($id_cat, $disc);
		create_cache_cat();
		$conn = null;
		
		redirect('cat_opts.php?act=2&id_cat='. $id_cat .'&succes=1&menu=5');
	}
	
}

///////////////////////////////////
//Create a subcategory option
//////////////////////////////////

elseif($act == 4 && empty($error))
{
	if(count($_POST) > 0 && $l != 4 && !isset($_POST['lang']))
	{
		foreach($cache_lang as $v)
		{
			$code_lang = stripslashes(htmlspecialchars($v['code_lang'], ENT_QUOTES));
			$active = (int) $v['active'];
			
			if($active == 1 && empty($_POST['name_'. $code_lang]))
			$error = 1;
		}
		 
		if(empty($error))
		{
			create_opt_cat($_POST, $l);
			create_cache_opts_cat();
			$conn = null;
		
			redirect('cat_opts.php?act=3&l='. $l .'&succes=1&menu=5');
		}
	}
	elseif($l == 4)
	{
		create_opt_cat(0, $l);
		create_cache_opts_cat();
		$conn = null;
		
		redirect('cat_opts.php?act=3&l='. $l .'&succes=1&menu=5');
	}
}

///////////////////////////////////
//Update a subcategory option
//////////////////////////////////

elseif(!empty($_POST['id_cat_opt']) && count($_POST) > 0 && $act == 5 && empty($error))
{
	foreach($cache_lang as $v)
	{
		$code_lang = stripslashes(htmlspecialchars($v['code_lang'], ENT_QUOTES));
		$active = (int) $v['active'];
		
		if($active == 1 && empty($_POST['name_'. $code_lang]))
		$error = 1;
	}
	 
	if(empty($error))
	{
		update_opt_cat($_POST, $id_cat_opt, $par_cat_opt, $l);
		create_cache_opts_cat();
		$conn = null;
	
		redirect('cat_opts.php?act=3&l='. $l .'&succes=2&menu=5');
	}
}

///////////////////////////////////
//Delete a subcategory option
//////////////////////////////////

elseif(!empty($id_cat_opt) && $act == 6 && empty($error))
{
	delete_opt_cat($id_cat_opt, $l);
	create_cache_opts_cat();
	create_cache_val_digital();
	create_cache_val_data();
	create_cache_val_check();
	create_cache_val_price();
	
	create_cache_search_price();
	create_cache_search_digital();
	create_cache_search_data();
	create_cache_search_check();
	
	$conn = null;
	
	redirect('cat_opts.php?act=3&l='. $l .'&succes=3&menu=5');
}

///////////////////////////////////
//Delete all subcategory options
//////////////////////////////////

elseif(!empty($_POST['check_all']) && $act == 7)
{
	$array = $_POST['check_all'];
	
	$redirect = (count($_POST['check_all']) > 1) ? 'cat_opts.php?act=3&l='. $l .'&succes=4&menu=5' : 'cat_opts.php?act=3&l='. $l .'&succes=3&menu=5';
	
	foreach($array as $id_cat_opt)
	delete_opt_cat($id_cat_opt, $l);
	
	create_cache_opts_cat();
	create_cache_val_digital();
	create_cache_val_data();
	create_cache_val_check();
	create_cache_val_price();
	
	create_cache_search_price();
	create_cache_search_digital();
	create_cache_search_data();
	create_cache_search_check();

	$conn = null;
	
	redirect($redirect);
}

///////////////////////////////////
//Create subcategory option value
//////////////////////////////////

elseif(count($_POST) > 0 && $act == 9 && empty($error) && !isset($_POST['lang']))
{
	if($l == 1 || $l == 4)
	{
		if(empty($_POST['val']))
		$error = 1;
		
		elseif(!is_numeric($_POST['val']))
		$error = 2;
		
		if($l == 1 && empty($error))
		{
			create_digital_value($_POST, $id_cat_opt);
			create_cache_val_digital();
			redirect('cat_opts.php?id_cat_opt='. $id_cat_opt .'&act=8&l='. $l .'&succes=1&menu=5');
			
			$conn = null;
		}
		elseif($l == 4 && empty($error))
		{
			create_price_value($_POST, $id_cat_opt);
			create_cache_val_price();
			redirect('cat_opts.php?id_cat_opt='. $id_cat_opt .'&act=8&l='. $l .'&succes=1&menu=5');
			
			$conn = null;
		}
	}
	elseif($l == 2)
	{
		foreach($cache_lang as $v)
		{
			$code_lang = stripslashes(htmlspecialchars($v['code_lang'], ENT_QUOTES));
			$active = (int) $v['active'];
			
			if($active == 1 && empty($_POST['val_'. $code_lang]))
			$error = 1;
		}
		
		if(empty($error))
		{
			create_data_value($_POST, $id_cat_opt, $par_cat_opt);
			create_cache_val_data();
			redirect('cat_opts.php?id_cat_opt='. $id_cat_opt .'&act=8&l='. $l .'&succes=1&menu=5');
			
			$conn = null;
		}
	}
	elseif($l == 3)
	{
		foreach($cache_lang as $v)
		{
			$code_lang = stripslashes(htmlspecialchars($v['code_lang'], ENT_QUOTES));
			$active = (int) $v['active'];
			
			if($active == 1 && empty($_POST['val_'. $code_lang]))
			$error = 1;
		}
		
		if(empty($error))
		{
			create_checkbox_value($_POST, $id_cat_opt);
			create_cache_val_check();
			redirect('cat_opts.php?id_cat_opt='. $id_cat_opt .'&act=8&l='. $l .'&succes=1&menu=5');
			
			$conn = null;
		}
	}
}

///////////////////////////////////
//Update subcategory option value
//////////////////////////////////

elseif(count($_POST) > 0 && $act == 10 && empty($error) && !isset($_POST['lang']))
{
	if(!empty($id_val))
	{
		if($l == 1 || $l == 4)
		{
			if(empty($_POST['val']))
			$error = 1;
			
			elseif(!is_numeric($_POST['val']))
			$error = 2;
		}
		else
		{
			foreach($cache_lang as $v)
			{
				$code_lang = stripslashes(htmlspecialchars($v['code_lang'], ENT_QUOTES));
				$active = (int) $v['active'];
				
				if($active == 1 && empty($_POST['val_'. $code_lang]))
				$error = 1;
			}
		}
		
		if(empty($error))
		{
			update_values($_POST, $l, $id_val, $id_cat_opt, $par_cat_opt);
			
			if($l == 1) create_cache_val_digital();
			if($l == 2) create_cache_val_data();
			if($l == 3) create_cache_val_check();
			if($l == 4) create_cache_val_price();
			
			redirect('cat_opts.php?id_cat_opt='. $id_cat_opt .'&act=8&l='. $l .'&succes=2&menu=5');
			
			$conn = null;
		}
	}
}

///////////////////////////////////
//Delete subcategory option value
//////////////////////////////////

elseif($act == 11 && empty($error))
{
	delete_value($l, $id_val);
	if($l == 1) create_cache_val_digital();
	if($l == 2) create_cache_val_data();
	if($l == 3) create_cache_val_check();
	if($l == 4) create_cache_val_price();
	
	$conn = null;
	
	redirect('cat_opts.php?id_cat_opt='. $id_cat_opt .'&act=8&l='. $l .'&succes=3&menu=5');
}

///////////////////////////////////
//Delete all subcategory option values
//////////////////////////////////

elseif(count($_POST) > 0 && $act == 12 && empty($error))
{
	$array = $_POST['check_all'];
	
	$redirect = (count($_POST['check_all']) > 1) ? 'cat_opts.php?id_cat_opt='. $id_cat_opt .'&act=8&l='. $l .'&succes=4&menu=5' : 'cat_opts.php?id_cat_opt='. $id_cat_opt .'&act=8&l='. $l .'&succes=3&menu=5';
	
	foreach($array as $id_val)
	delete_value($l, $id_val);
	
	if($l == 1) create_cache_val_digital();
	if($l == 2) create_cache_val_data();
	if($l == 3) create_cache_val_check();
	if($l == 4) create_cache_val_price();
	
	$conn = null;
	
	redirect($redirect);
}

///////////////////////////////////
//Add options to subcategories
//////////////////////////////////

elseif($act == 13)
{
	$id_cat = (isset($_GET['id_cat'])) ? (int) $_GET['id_cat'] : 0;
	$cal = 0;
			
	if(!empty($_POST['valid']) && (empty($error)))
	{
		$id_cat = (int) $_POST['cat'];
		$opts_price = (!empty($_POST['opts_price'])) ? $_POST['opts_price'] : '';
		$opts_digital = (!empty($_POST['opts_digital'])) ? $_POST['opts_digital'] : '';
		$opts_data = (!empty($_POST['opts_data'])) ? $_POST['opts_data'] : '';
		$opts_checkbox = (!empty($_POST['opts_checkbox'])) ? $_POST['opts_checkbox'] : '';
		$calendar = (!empty($_POST['cal'])) ? 1 : 0;
		$doc = (!empty($_POST['doc'])) ? 1 : 0;
		$comments = (!empty($_POST['comments'])) ? 1 : 0;
		
		add_opts($opts_price, $opts_digital, $opts_data, $opts_checkbox, $id_cat);
		create_cache_search_price();
		create_cache_search_digital();
		create_cache_search_data();
		create_cache_search_check();
		
		add_opt_calendar_doc($id_cat, $calendar, $doc, $comments);
		create_cache_cat();
	
		$conn = null;
		
		redirect('cat_opts.php?act=13&id_cat='. $id_cat .'&succes=1&menu=5');
	}
}

///////////////////////////////////
//Close database connexion
//////////////////////////////////

$conn = null;

///////////////////////////////////
//Display view
//////////////////////////////////

$view = array();

if($act == 1) 
$view[] = 'template_adm/tpl_opts_cat_note_adm.php';

elseif($act == 2) 
$view[] = 'template_adm/tpl_opts_cat_disc_adm.php';

elseif($act == 3 || $act == 7)
$view[] = 'template_adm/tpl_opts_cat_adm.php';

elseif($act == 4)
$view[] = 'template_adm/tpl_opts_cat_crea_adm.php';

elseif($act == 5)
$view[] = 'template_adm/tpl_opts_cat_mod_adm.php';

elseif($act == 8 || $act == 12)
$view[] = 'template_adm/tpl_opts_cat_val_adm.php';

elseif($act == 9)
$view[] = 'template_adm/tpl_opts_cat_val_crea_adm.php';

elseif($act == 10)
$view[] = 'template_adm/tpl_opts_cat_val_mod_adm.php';

elseif($act == 13)
$view[] = 'template_adm/tpl_opts_cat_add_opts_adm.php';

require_once __DIR__.'/template_adm/tpl_layout_adm.php';