<?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
//////////////////////////////////
	
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'] <= 5)
	$act = (int) $_GET['act'];
	
	else $act = 0;
}
else $act = 0;

///////////////////////////////////
//Validation of the lang
//////////////////////////////////

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

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

$error = '';

///////////////////////////////////
//Add a language
//////////////////////////////////

if($act == 1 || $act == 2)
{
	
	if(!empty($id_lang))
	{
		$name_lang = $cache_lang[$id_lang]['name_lang'];
		$code_lang = $cache_lang[$id_lang]['code_lang'];
	}
	
	if(isset($_POST['name_lang']))
	{
		$name_lang = strtolower($_POST['name_lang']);
		$code_lang = strtolower($_POST['code_lang']);

		if(empty($_POST['name_lang']))
		$error = 1;
		
		elseif(empty($_POST['code_lang']))
		$error = 2;
		
		else
		{
			//Flag Upload
			
			if(isset($_FILES['flag']) && $_FILES['flag']['error'] == 0)
			{
				if ($_FILES['flag']['size'] <= 1073741824*3) 
				{
					$extensions_allowed = array('png'); 
					$extension_downloaded = strtolower(substr(strrchr($_FILES['flag']['name'], '.'), 1) ); 
					
					if (in_array($extension_downloaded, $extensions_allowed))
					{
						$name_file = $code_lang .'.'. $extension_downloaded;
						move_uploaded_file($_FILES['flag']['tmp_name'], '../includes/language/flags/flag_'. basename($name_file)); // Validation and storage of the file
					}
					else $error = 6;
				}
				else $error = 7;
			}
			elseif(isset($_FILES['flag']) AND $_FILES['flag']['error'] != 0) $error = 8;
			
			//Upload language file
			
			if(isset($_FILES['file']) && $_FILES['file']['error'] == 0)
			{
				if ($_FILES['file']['size'] <= 1073741824*3) 
				{
					$extensions_allowed = array('php'); 
					$extension_downloaded = strtolower(substr(strrchr($_FILES['file']['name'], '.'), 1) ); 
					
					if(in_array($extension_downloaded, $extensions_allowed))
					{
						$name_file = $name_lang .'.'. $extension_downloaded;
						move_uploaded_file($_FILES['file']['tmp_name'], '../includes/language/'. basename($name_file)); // Validation and storage of the file
					}
					else $error = 3;
				}
				else $error = 4;
			}
			elseif(isset($_FILES['file']) AND $_FILES['file']['error'] != 0) $error = 5;
		}
		
		//Creating the cache_lang file
		
		if(!empty($_POST['name_lang']) && empty($error) && $act == 1)
		{
			create_lang($name_lang, $code_lang);
			create_cache_lang();
			update_htaccess();
			redirect("lang.php?succes=1&menu=32");
		} 
		
		if(!empty($_POST['name_lang']) && empty($error) && $act == 2)
		{
			foreach($cache_lang as $v)
			{
				if($id_lang == $v['id_lang'])
				{
					if($_POST['code_lang'] != $v['code_lang'])
					unlink('../includes/language/flags/flag_'. $v['code_lang'] .'.png');
					
					if($_POST['name_lang'] != $v['name_lang'])
					unlink('../includes/language/'. $v['name_lang'] .'.php');
				}
			}
			
			update_lang($id_lang, $name_lang, $code_lang);
			create_cache_lang();
			update_htaccess();
			
			redirect("lang.php?succes=2&menu=32");
		}
	}
}

///////////////////////////////////
//Delete a language
//////////////////////////////////

if($act == 3)
{
	if(!empty($_GET['id_lang']) && !empty($_GET['name_lang']) && !empty($_GET['code_lang']))
	{
		$id_lang = (int) $_GET['id_lang'];
		$name_lang = htmlspecialchars($_GET['name_lang']);
		$code_lang = htmlspecialchars($_GET['code_lang']);
		
		delete_lang($id_lang, $name_lang, $code_lang);
		create_cache_lang();
		
		redirect('lang.php?succes=3&menu=32');
	}
}

///////////////////////////////////
//Delete all languages
//////////////////////////////////

if(!empty($_POST['check_all']) && $act == 4)
{
	$array = $_POST['check_all'];
	
	delete_all_lang($array);
	create_cache_lang();
	
	$succes = (count($_POST['check_all']) > 1) ? 4 : 3;
	
	redirect('lang.php?succes='. $succes .'&menu=32');
}

///////////////////////////////////
//Enable language
//////////////////////////////////

if($act == 5)
{
	if(!empty($_GET['id_lang']) && isset($_GET['active']))
	{
		$id_lang = (int) $_GET['id_lang'];
		$active = (int) $_GET['active'];
		
		update_active_lang($id_lang, $active);
		create_cache_lang();
		
		redirect('lang.php?menu=32');
	}
}

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

$conn = null;

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

$view = array();

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

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

else $view[] = 'template_adm/tpl_lang_adm.php';

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