<?php

if ( !defined('IN_PHPBB') )
{
   die("Hacking attempt");
}

global $userdata, $HTTP_POST_VARS, $HTTP_GET_VARS, $lang;
unset($message,$id_site,$id);

//  On vire les gens non loggués au site
if ( !$userdata['session_logged_in'])
{
		message_die(GENERAL_ERROR, 'Accès interdit à l\'espace de gestion');
}

//chargement du template
$template->set_filenames(array(
   'ajouter' => 'areabb/mods/classement_sites/tpl/ajouter.tpl'
));

if (isset($HTTP_POST_VARS['operation']) || isset($HTTP_GET_VARS['operation']))
{
	if (isset($HTTP_POST_VARS['operation'])) 
	{
		$operation = $HTTP_POST_VARS['operation']; 
		$id = intval($HTTP_POST_VARS['id']);
	}else{
		$operation = $HTTP_GET_VARS['operation'];
		$id = intval($HTTP_GET_VARS['id']);
	}
}

if (($operation == 'EDITION_ADMIN' || $operation == 'EDIT_ADMIN') && ($userdata['user_level'] == ADMIN || $userdata['user_level'] == MOD))
{
	// C'est un admin qui a demandé une opération d'edition
	$sql = 'SELECT * FROM '. AREABB_CLASS_SITE .' 
			WHERE id_site='.$id.' limit 0,1';
	if( !($resultat = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Could not query recent classification information', '', __LINE__, __FILE__, $sql);
	}
	// on lui propose d'éditer sa fiche
	if (($db->sql_numrows($resultat)) > 0) 
	{
		$hidden =  'EDIT_ADMIN';
	}else{
		message_die(GENERAL_ERROR, $lang['class_sites_id_user_unknow']); 
	}
}else{
	// On prépare l'edition
	// on teste pour voir si le membre a déjà soumis son site
	$sql = 'SELECT * FROM '. AREABB_CLASS_SITE .' 
			WHERE id_user='.$userdata['user_id'].' limit 0,1';
	if( !($resultat = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Could not query recent classification information', '', __LINE__, __FILE__, $sql);
	}
	// on lui propose d'éditer sa fiche
	if (($db->sql_numrows($resultat)) > 0) 
	{
		$hidden =  'EDIT';
		if ($operation != 'EDITION_ADMIN' && !isset($HTTP_POST_VARS['url'])) $operation  = 'EDIT';
	}else{
		$hidden =  'CREATION';
	}
}

switch ($operation)
{
	case 'EDITION_ADMIN':
		// Un admin vient de nous envoyer un site à éditer?
		if ($userdata['user_level'] > 0)
		{
			//die("c'est làààà");
			$verification_saisie = $classite->verification_saisie('1');
			if ($verification_saisie == 'OK') 
			{
				$sql = 'UPDATE '. AREABB_CLASS_SITE .' 
						SET titre_site = \''.$classite->titre.'\' , 
							url_site = \''.$classite->url.'\', 
							description =\''.$classite->desc.'\'';
				if (!empty($classite->banniere))   $sql .= ',banniere=\''.$classite->banniere.'\'';
				$sql .= ' WHERE id_site='.$id;
				if( !($result = $db->sql_query($sql)) )
				{
					message_die(GENERAL_ERROR, 'Could not UPDATE classification information', '', __LINE__, __FILE__, $sql);
				}
				$message  = $lang['class_site_maj'];
			}else{
				$message = $verification_saisie;
			}
			$hidden =  'EDITION_ADMIN';	
			$id_site = '<input type="hidden" name="id" value="'.$id.'" />';
			$classite->prepare_edit('',$id);
		}
		break;
	case 'EDITION':
		// Un membre vient de nous envoyer son site
		$verification_saisie = $classite->verification_saisie('1');
		if ($verification_saisie == 'OK') 
		{
			$sql = 'UPDATE '. AREABB_CLASS_SITE .' 
					SET titre_site = \''.$classite->titre.'\' , 
						url_site = \''.$classite->url.'\', 
						description =\''.$classite->desc.'\'';
			if (!empty($classite->banniere))   $sql .= ',banniere=\''.$classite->banniere.'\'';
			$sql .= 'WHERE id_user='.$userdata['user_id'];
			if( !($result = $db->sql_query($sql)) )
			{
				message_die(GENERAL_ERROR, 'Could not UPDATE classification information', '', __LINE__, __FILE__, $sql);
			}
			$message  = $lang['class_site_maj'];
		}else $message = $verification_saisie;
		$hidden =  'EDITION';	
		$classite->prepare_edit('',$id);
		break;
	case 'CREATION':
		// En création ??
		$verification_saisie = $classite->verification_saisie();
		if (($verification_saisie == 'OK') AND $classite->verification_site_unique($userdata['user_id'])) 
		{
			$sql = 'INSERT INTO '. AREABB_CLASS_SITE .' (titre_site,url_site, id_user,description,banniere,votes,clics) 
					VALUES (\''.$classite->titre.'\',\''.$classite->url.'\','.$userdata['user_id'].',\''.$classite->desc.'\',\''.$classite->banniere.'\',0,0)' ;
			if( !($result = $db->sql_query($sql)) )
			{
				message_die(GENERAL_ERROR, 'Could not INSERT classification information', '', __LINE__, __FILE__, $sql);
			}
			$message  = $lang['class_site_enregistre'];
			$hidden =  'EDITION';
			$classite->prepare_edit($resultat,null);
		}else{		
			$message = $verification_saisie;
			$hidden =  'CREATION';
		}
		break;
	case 'EDIT_ADMIN':
		// préparation edition en Admin
		$hidden =  'EDITION_ADMIN';
		$id_site = '<input type="hidden" name="id" value="'.$id.'" />';
		$classite->prepare_edit($resultat,null);
		break;
	case 'EDIT':
		// préparation edition user
		$hidden =  'EDITION';	
		$classite->prepare_edit($resultat,null);
		break;
}

// Variables générales
$template->assign_vars(array(
	'L_TITRE' 		=> $lang['nom_site'],
	'L_INSCRIPTION'	=> $lang['L_INSCRIPTION'],
	'L_URL' 		=> $lang['url_site'],
	'L_DESCRIPTION'	=> $lang['description'],
	'L_DESC' 		=> $lang['description_site'],
	'L_BANNIERE'	=> $lang['banniere_site'],
	'L_BANNIERE_EXPLAIN'=> $lang['L_BANNIERE_EXPLAIN'],
	'HIDDEN'		=> $hidden,
	'ID_SITE'		=> $id_site,
	'MESSAGE'		=> $message	
));

$template->assign_var_from_handle('CORPS', 'ajouter');

?>