// LIBELLES DES CHAMPS
include("libelles.php") ;
$frm = $HTTP_POST_VARS ;
if ($_GET[actionweb] <> "")
$frm[actionweb] = $_GET[actionweb] ;
if ($_GET[id_article] <> "")
$frm[id_article] = $_GET[id_article] ;
$frm = str_replace('"', "'", $frm) ;
switch ($frm["actionweb"])
{
case "formulaire_suite" : affiche_form_suite() ;
break ;
case "formulaire_ter" : affiche_form_ter() ;
break ;
case "insere_etape2" :
$sql = "" ;
if ($frm[type] == 1) // date précise
{
if (($frm[an]=="") OR ($frm[mois]=="") OR ($frm[jour]=="") )
$msg .= "- Problème dans le format des dates" ;
$sql = "INSERT INTO objets_date
(id_article,
type,
date,
nbjours
) VALUES (
'#ENV{id_article}',
'1',
'".$frm[an]."-".$frm[mois]."-".$frm[jour]."',
'".($frm[annee]*365+$frm[mois]*30+$frm[jour])."'
) ";
}
elseif ($frm[type] == 2) // Année
{
if ($frm[annee]=="")
$msg .= "- Année manquante" ;
$sql = "INSERT INTO objets_date
(id_article,
type,
annee,
nbjours
) VALUES (
'#ENV{id_article}',
'2',
'".$frm[annee]."',
'".($frm[annee]*365)."'
) ";
}
elseif ($frm[type] == 3) // siécle
{
$sql = "INSERT INTO objets_date
(id_article,
type,
siecle,
nbjours
) VALUES (
'#ENV{id_article}',
'3',
'".$frm[siecle]."',
'".($frm[siecle]*100*365)."' ) ";
}
$champ1 = "[(#EXTRA|champ1|textebrut)]" ;
$champ2 = "[(#EXTRA|champ2|textebrut)]" ;
$champ3 = "[(#EXTRA|champ3|textebrut)]" ;
$champ4 = "[(#EXTRA|champ4|textebrut)]" ;
//Calcul du champ extra
$champsextra = array(
"champ1" => "$champ1",
"champ2" => "$champ2",
"champ3" => "$champ3",
"champ4" => "$champ4",
"latitude" => "$frm[latbox]",
"longitude" => "$frm[lonbox]"
);
//idem rajouter autant de ligne que nécessaire. Attention, la dernière ligne ne doit pas avoir de virgule à la fin de ligne
//calcul de l'output des champs extra
$ajoutextra = serialize($champsextra);
$ajoutextra = str_replace(";N;", ";s:0:\"\";", $ajoutextra);
$ajoutextra = addslashes($ajoutextra) ;
if ($msg == "")
{
if ($sql <> "")
{
$result = mysql_query($sql);
if(!$result):echo("
".$str_queryError." ".$sql." ".mysql_error()."
");@mysql_free_result($result);exit();endif;
}
$sql = "UPDATE spip_articles SET
extra = '$ajoutextra'
WHERE id_article = '#ENV{id_article}'";
//echo $sql ;
$result = mysql_query($sql);
if(!$result):echo("
".$str_queryError." ".$sql." ".mysql_error()."
");@mysql_free_result($result);exit();endif;
// rajout du mot clefs pour le pays
$sql = "INSERT INTO spip_mots_articles
(id_article,
id_mot)
VALUES
('#ENV{id_article}',
'#ENV{pays}') " ;
echo $sql ;
$result2 = mysql_query($sql);
if(!$result2):echo("
".$str_queryError." ".$sql." ".mysql_error()."
");@mysql_free_result($result2);exit();endif;
header("Location:/spip.php?page=ajouter_objet&actionweb=formulaire_ter&id_article=#ENV{id_article}&id_rubrique=#ENV{id_rubrique}&etape=#ENV{etape}") ;
}
else
affiche_form_suite() ;
break ;
case "insere_objet" :
// On va charge avec les données envoyées
$id_article = "$frm[id_article]" ;
$surtitre = corriger_caracteres($frm[surtitre]);
$titre = corriger_caracteres($frm[titre]);
$date_redac = trim($frm['date_redac']) ;
$soustitre = corriger_caracteres($frm[id_rubrique]);
$chapo = corriger_caracteres($frm[chapo]);
$texte = corriger_caracteres($frm[texte]);
$ps = corriger_caracteres($frm[ps]);
$descriptif = corriger_caracteres($frm[descriptif]);
$url_site = corriger_caracteres($frm[url_site]);
$statut = $frm[statut] ;
$type = $frm[type] ;
if ($type == 329 )
{
$champ1 = $frm[texte1_329] ;
$champ2 = $frm[texte2_329] ;
$champ3 = $frm[texte3_329] ;
$champ4 = $frm[texte4_329] ;
}
elseif ($type == 330 )
{
$champ1 = $frm[texte1_330] ;
$champ2 = $frm[texte2_330] ;
$champ3 = $frm[texte3_330] ;
$champ4 = $frm[texte4_330] ;
}
elseif ($type == 331 )
{
$champ1 = $frm[texte1_331] ;
$champ2 = $frm[texte2_331] ;
$champ3 = $frm[texte3_331] ;
$champ4 = $frm[texte4_331] ;
}
elseif ($type == 332 )
{
$champ1 = $frm[texte1_332] ;
$champ2 = $frm[texte2_332] ;
$champ3 = $frm[texte3_332] ;
$champ4 = $frm[texte4_332] ;
}
elseif ($type == 333 )
{
$champ1 = $frm[texte1_333] ;
$champ2 = $frm[texte2_333] ;
$champ3 = $frm[texte3_333] ;
$champ4 = $frm[texte4_333] ;
}
//Calcul du champ extra
$champsextra = array(
"champ1" => "$champ1",
"champ2" => "$champ2",
"champ3" => "$champ3",
"champ4" => "$champ4"
);
//idem rajouter autant de ligne que nécessaire. Attention, la dernière ligne ne doit pas avoir de virgule à la fin de ligne
//calcul de l'output des champs extra
$ajoutextra = serialize($champsextra);
$ajoutextra = str_replace(";N;", ";s:0:\"\";", $ajoutextra);
$ajoutextra = addslashes($ajoutextra) ;
// Vérification des données
if ($titre == "")
$msg .= "- Le titre ne peut être vide. " ;
if ($msg == "" )
{
// Insertion ethnodoc
$sql = "INSERT INTO spip_articles
(surtitre,
titre,
soustitre,
id_rubrique,
id_secteur,
descriptif,
url_site,
chapo,
texte,
ps,
statut,
date_redac,
accepter_forum,
date,
extra
) VALUES (
'$surtitre',
'$titre',
'$soustitre',
'77',
'77',
'$descriptif',
'$url_site',
'$chapo',
'$texte',
'$ps',
'publie',
NOW(),
'pos',
NOW(),
'$ajoutextra')";
//echo $sql ;
$result = mysql_query($sql);
if(!$result):echo("
".$str_queryError." ".$sql." ".mysql_error()."
");@mysql_free_result($result);exit();endif;
$id_article = mysql_insert_id() ;
// rajout de la liaison auteur / article en cas de création d'article
$sql = "INSERT INTO spip_auteurs_articles
(id_article,
id_auteur)
VALUES
('$id_article',
'#SESSION{id_auteur}') " ;
//echo $sql ;
$result2 = mysql_query($sql);
if(!$result2):echo("
".$str_queryError." ".$sql." ".mysql_error()."
");@mysql_free_result($result2);exit();endif;
// rajout du mot clefs pour le type d'objet
$sql = "INSERT INTO spip_mots_articles
(id_article,
id_mot)
VALUES
('$id_article',
'$type') " ;
echo $sql ;
$result2 = mysql_query($sql);
if(!$result2):echo("
".$str_queryError." ".$sql." ".mysql_error()."
");@mysql_free_result($result2);exit();endif;
// rajout d'une ligne pour la datation
$sql2 = "INSERT INTO objets_date
(id_article
) VALUES (
'$id_article' ) ";
$result2 = mysql_query($sql2);
if(!$result2):echo("
".$str_queryError." ".$sql2." ".mysql_error()."
");@mysql_free_result($result2);exit();endif;
header("Location:/spip.php?page=ajouter_objet&actionweb=formulaire_suite&id_article=$id_article&id_rubrique=#ENV{id_rubrique}&etape=#ENV{etape}") ;
}
default : affiche_form() ;
break ;
}
function affiche_form()
{
GLOBAL $frm,$lib,$msg,$champ1,$champ2,$champ3,$champ4,$action ;
?>
}
function affiche_form_suite()
{
GLOBAL $frm, $action ;
?>
}
function affiche_form_ter()
{
GLOBAL $frm ;
?>