Browse Source

Ajout du FORMULAIRE_JAIME_COEUR pour un ti coeur et un décompte des clics dessus

master
frederic.bouteille.mae@gmail.com 8 years ago
parent
commit
89c733fd8b
  1. 4
      .gitattributes
  2. 41
      balise/formulaire_jaime_coeur.php
  3. BIN
      css/img/coeur_spring.png
  4. 30
      css/notation.v2.css
  5. 29
      formulaires/jaime_coeur.html
  6. 50
      formulaires/jaime_coeur.php

4
.gitattributes vendored

@ -2,9 +2,11 @@
action/editer_notation.php -text
action/supprimer_notation.php -text
balise/formulaire_jaime.php -text
balise/formulaire_jaime_coeur.php -text
balise/formulaire_jaime_jaimepas.php -text
balise/formulaire_notation.php -text
base/notation.php -text
css/img/coeur_spring.png -text
css/img/delete.gif -text
css/img/star.png -text
css/jquery.rating.css -text
@ -17,6 +19,8 @@ formulaires/configurer_notation_general.html -text
formulaires/configurer_notation_general.php -text
formulaires/jaime.html -text
formulaires/jaime.php -text
formulaires/jaime_coeur.html -text
formulaires/jaime_coeur.php -text
formulaires/jaime_jaimepas.html -text
formulaires/jaime_jaimepas.php -text
formulaires/notation.html -text

41
balise/formulaire_jaime_coeur.php

@ -0,0 +1,41 @@
<?php
/**
* Plugin Notation
* par JEM (jean-marc.viglino@ign.fr) / b_b / Matthieu Marcillaud
*
* Copyright (c) 2008
* Logiciel libre distribue sous licence GNU/GPL.
*
*/
if (!defined("_ECRIRE_INC_VERSION")) return; #securite
/**
* Ce formulaire permet de noter des objets de SPIP.
* Par defaut, l'objet et son identifiant sont pris dans la boucle
* <BOUCLE_(ARTICLES){id_article}> #FORMULAIRE_JAIME_JAIMEPAS ...
*
* Mais il est possible de forcer un objet particulier :
* #FORMULAIRE_JAIME_JAIMEPAS{article,8}
*
*/
function balise_FORMULAIRE_JAIME_COEUR ($p) {
include_spip("balise/formulaire_notation");
// on prend nom de la cle primaire de l'objet pour calculer sa valeur
$_id_objet = $p->boucles[$p->id_boucle]->primary;
return calculer_balise_dynamique(
$p,
'FORMULAIRE_JAIME_COEUR',
array(
'NOTATION_TYPE_BOUCLE', // demande du type d'objet
$_id_objet
)
);
}
function balise_FORMULAIRE_JAIME_COEUR_stat($args, $filtres) {
include_spip("balise/formulaire_notation");
return balise_FORMULAIRE_NOTATION_stat($args,$filtres);
}
?>

BIN
css/img/coeur_spring.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 374 B

30
css/notation.v2.css

@ -25,7 +25,7 @@ div.star-rating{background:transparent!important;overflow:hidden!important}
/* END jQuery.Rating Plugin CSS */
.formulaire_notation .notation_note { display: inline; }
.formulaire_notation .note { padding:0; margin:0 5px; }
.formulaire_notation .note { padding:0; margin:0 5px; line-height: 1em;}
/* Pour affichage dans les modeles
*/
@ -153,3 +153,31 @@ div.star-rating{background:transparent!important;overflow:hidden!important}
.formulaire_jaime form .submit {border:0;background:0;padding:1px 0;cursor:pointer;}
.formulaire_jaime form .submit:hover {font-weight:bold;}
/**** jaime_coeur ****/
.jaime_coeur{float: left}
.note_coeur{float: left; font-size: inherit;}
/**** surcharge Bootstrap ****/
input[type="submit"].jaime_coeur, input[type="submit"].jaimeplus_coeur{
border: 0;
overflow: hidden;
text-indent: -200em;
width: 14px;
height: 11px;
margin: 0;
padding:0;
}
input[type="submit"].jaime_coeur, input[type="submit"].jaimeplus_coeur:hover, input[type="submit"].jaimeplus_coeur:active{
/***** fond coeur spring css ***/
background: transparent url("img/coeur_spring.png") no-repeat;
background-position: 0 0;
}
input[type="submit"].jaimeplus_coeur, input[type="submit"].jaime_coeur:hover, input[type="submit"].jaime_coeur:active{
/***** fond coeur spring css ***/
background: transparent url("img/coeur_spring.png") no-repeat;
background-position: 100% 0;
}

29
formulaires/jaime_coeur.html

@ -0,0 +1,29 @@
<!--formulaire_notation-->
<BOUCLE_note(NOTATIONS_OBJETS){objet=(#ENV*{_objet}|objet_type)}{id_objet=#ENV*{_id_objet}}>
#SET{note_ponderee,#NOTE_PONDEREE}
#SET{total,#NOMBRE_VOTES}
</BOUCLE_note>
<div class="formulaire_notation formulaire_#FORM ajax">
[(#ENV**{editable}|oui)
<form action="#SELF" method="post" id="#FORM[(#ENV*{_form_id})]">
#ACTION_FORMULAIRE{#SELF}
<div class="jaime_coeur">
[(#REM) ne pas envoyer une variable commencant par id_
sinon elle se retrouve dans l'url (fonctionnement normal de SPIP
du coup, prefixe par notation_
]
<input type="hidden" name="notation_id_donnees" id="id_donnees[(#ENV*{_form_id})]" value="[(#ENV*{_id_objet})]" />
<input type="hidden" name="content" id="content[(#ENV*{_form_id})]" value="" />
[(#ENV{id_notation}|non)
<input type="submit" class="jaime_coeur" name="jaime[(#ENV*{_form_id})]" value="<:notation:jaime|attribut_html:>" title="<:notation:jaime|attribut_html:>"/>
][(#ENV{id_notation}|oui)
<input type="submit" class="jaimeplus_coeur" name="retirer[(#ENV*{_form_id})]" value="<:notation:jaimeplus|attribut_html:>" title="<:notation:jaimeplus|attribut_html:>"/>
]
</div>
[<div class="note_coeur note">(#GET{total})</div>]
</form>
]
</div>

50
formulaires/jaime_coeur.php

@ -0,0 +1,50 @@
<?php
/**
* Plugin Notation
* par JEM (jean-marc.viglino@ign.fr) / b_b / Matthieu Marcillaud
*
* Copyright (c) 2008
* Logiciel libre distribue sous licence GNU/GPL.
*
*/
if (!defined("_ECRIRE_INC_VERSION")) return;
include_spip('inc/notation');
include_spip('inc/notation_autorisations');
include_spip('base/abstract_sql');
function formulaires_jaime_coeur_charger_dist($objet, $id_objet){
$valeurs = array();
$charger = charger_fonction("charger","formulaires/notation");
// definition des valeurs de base du formulaire
$valeurs = $charger($objet,$id_objet);
return $valeurs;
}
function formulaires_jaime_coeur_verifier_dist($objet, $id_objet){
$erreurs = array();
$note = 0;
if (_request("jaime-$objet$id_objet"))
$note = notation_get_nb_notes(); // j'aime -> note maxi
if (_request("retirer-$objet$id_objet"))
$note = -1; // je n'aime plus -> on retire la note
set_request("notation-$objet$id_objet",$note);
$verifier = charger_fonction("verifier","formulaires/notation");
$erreurs = $verifier($objet,$id_objet);
return $erreurs;
}
function formulaires_jaime_coeur_traiter_dist($objet, $id_objet){
$traiter = charger_fonction("traiter","formulaires/notation");
$result = $traiter($objet,$id_objet);
if ($result['message_ok'])
$result['message_ok'] = $result['id_notation'] ? _T("notation:jaidonnemonavis"):"";
return $result;
}
?>
Loading…
Cancel
Save