[Ok] Changer le sondage en cours
Aller à la page Précédente  1, 2, 3, 4, 5, 6, 7  Suivante
PHP-Nuke France - CE -> Blocks

Auteur: FBLocalisation: Gradignan (33) MessagePosté le: 20.12.2004, 19:23:21    Sujet du message:

Bonjour JC,

Donc il suffit de rajouter $querylang à la fin de la première requête, si on est en multi-langues, pour que le compteur se limite aux nombre de sondages dans la langue choisie... Non ?

Auteur: JeanClaudeLocalisation: GAP MessagePosté le: 20.12.2004, 19:32:51    Sujet du message:

A vérifier, mais à prioris oui.

Auteur: skippy1974Localisation: Bas-Rhin MessagePosté le: 21.12.2004, 19:45:27    Sujet du message:

Chose priomise, chose due.

Voici une version qui fonctionne.

S'il y a des pb, n'hésiter à me faire signe.

Donc, voili, voulou :

Fichier admin/modules/polls.php
===============================

Global
------

Chercher :
Code:

    savepoll($pollID, $pollTitle, $planguage, $optiontext1, $optiontext2, $optiontext3, $optiontext4, $optiontext5, $optiontext6, $optiontext7, $optiontext8, $optiontext9, $optiontext10, $optiontext11, $optiontext12);


Remplacer par :
Code:

    savepoll($pollID, $pollTitle, $planguage, $optiontext1, $optiontext2, $optiontext3, $optiontext4, $optiontext5, $optiontext6, $optiontext7, $optiontext8, $optiontext9, $optiontext10, $optiontext11, $optiontext12, $displayed);


Fonction polledit
-----------------

Chercher :
Code:

    $row = $db->sql_fetchrow($db->sql_query("SELECT pollTitle, planguage from " . $prefix . "_poll_desc where pollID='$pollID'"));
    $pollTitle = $row['pollTitle'];
    $planguage = $row['planguage'];
    CloseTable();


Remplacer par :
Code:

    $row = $db->sql_fetchrow($db->sql_query("SELECT * from " . $prefix . "_poll_desc where pollID='$pollID'"));
    $pollTitle = $row['pollTitle'];
    $planguage = $row['planguage'];
    $display = $row['display'];
    CloseTable();


Chercher :
Code:

    echo "</table><input type=\"hidden\" name=\"pollID\" value=\"$pollID\"><input type=\"hidden\" name=\"op\" value=\"savepoll\">"


Remplacer par :
Code:

    echo "</table><center>"
        . "<br><br><b>". _DISPLAYEDPOLL . " </b><input type=\"radio\" name=\"displayed\" value=\"1\"";
    if ($display == true) echo " checked>";
                    else echo ">";
    echo "" . _YES . "<input type=\"radio\" name=\"displayed\" value=\"0\"";
    if ($display == false) echo " checked>";
                    else echo ">";
    echo "" . _NO . "</center>"
        . "<input type=\"hidden\" name=\"pollID\" value=\"$pollID\"><input type=\"hidden\" name=\"op\" value=\"savepoll\">"


Fonction savepoll
-----------------

Chercher :
Code:

function savepoll($pollID, $pollTitle, $planguage, $optiontext1, $optiontext2, $optiontext3, $optiontext4, $optiontext5, $optiontext6, $optiontext7, $optiontext8, $optiontext9, $optiontext10, $optiontext11, $optiontext12) {


Remplacer par :
Code:

function savepoll($pollID, $pollTitle, $planguage, $optiontext1, $optiontext2, $optiontext3, $optiontext4, $optiontext5, $optiontext6, $optiontext7, $optiontext8, $optiontext9, $optiontext10, $optiontext11, $optiontext12, $displayed) {



Chercher :
Code:

    Header("Location: admin.php");


Insérer avant :
Code:

    $result = $db->sql_query("update " . $prefix . "_poll_desc set display=$displayed where pollID='$pollID'");
    if ($displayed=1) {
       $result = $db->sql_query("update " . $prefix . "_poll_desc set display=0 where pollID!='$pollID' and planguage='$planguage'");
    }


Fichier admin/language/lang-french.php
======================================

Insérer :
Code:

define("_DISPLAYEDPOLL","En faire le sondage affiché actuellement :");


Fichier admin/language/lang-english.php
=======================================

Insérer :
Code:

define("_DISPLAYEDPOLL","Set this poll as the displayed one:");


Fichier admin.php
=================

Chercher :
Code:

    $row8 = $db->sql_fetchrow($db->sql_query("SELECT pollID, pollTitle FROM ".$prefix."_poll_desc WHERE artid='0' ORDER BY pollID DESC LIMIT 1"));


Remplacer par :
Code:

    // Compte le nombre de sondage à afficher (0 ou plus)
    $nbrows = $db->sql_numrows($db->sql_query("SELECT pollID, pollTitle FROM ".$prefix."_poll_desc WHERE display=1 AND artid='0' ORDER BY pollID DESC LIMIT 1"));
    // Si il n'y a pas de sondage, prendre le dernier ajouté (comme avant)
    if ($nbrows < 1) $row8 = $db->sql_fetchrow($db->sql_query("SELECT pollID, pollTitle FROM ".$prefix."_poll_desc WHERE artid='0' ORDER BY pollID DESC LIMIT 1"));
                else $row8 = $db->sql_fetchrow($db->sql_query("SELECT pollID, pollTitle FROM ".$prefix."_poll_desc WHERE display=1 AND artid='0' ORDER BY pollID DESC LIMIT 1"));


Fichier blocks/block-Survey.php
===============================

Chercher :
Code:

$row = $db->sql_fetchrow($db->sql_query("SELECT pollID FROM ".$prefix."_poll_desc $querylang ORDER BY pollID DESC LIMIT 1"));


Remplacer par :
Code:

// Compte le nombre de sondage à afficher (0 ou plus)
$nbrows = $db->sql_numrows($db->sql_query("SELECT pollID FROM ".$prefix."_poll_desc $querylang AND display=1 ORDER BY pollID DESC LIMIT 1"));
// Si il n'y a pas de sondage, prendre le dernier ajouté (comme avant)
if ($nbrows < 1) $row = $db->sql_fetchrow($db->sql_query("SELECT pollID FROM ".$prefix."_poll_desc $querylang ORDER BY pollID DESC LIMIT 1"));
            else $row = $db->sql_fetchrow($db->sql_query("SELECT pollID FROM ".$prefix."_poll_desc $querylang AND display=1 ORDER BY pollID DESC LIMIT 1"));



REMARQUES SUPER IMPORTANTS :
1/ Ceci ne fonctionne bien sur qu'avec la version 7.4 disponible sur ce site !

2/ Il y a juste une modification à faire à la table nuke_poll_desc il faut ajouter une colonne "display" de type "bool" avec comme défaut "true". A faire avec l'outil que vous préférez.

Auteur: skippy1974Localisation: Bas-Rhin MessagePosté le: 21.12.2004, 20:08:06    Sujet du message:

Petit rajout,

Pour ceux qui ne veulent pas modifier une table, on peut créer une copie contenant la colonne "display" mais à ce moment la, il faut chercher dans tous les fichiers le texte"_poll_desc" et le remplacer par le nom de cette nouvelle table.

Et ce y compris dans ce que j'ai écris ci-dessus.

Auteur: skippy1974Localisation: Bas-Rhin MessagePosté le: 22.12.2004, 22:57:01    Sujet du message:

L'hiver nucléaire à frappé ?!

Petit QCM :

1/ personne n'a essayé mes modifications : trop compliqué.
2/ ça n'interesse plus personne
3/ c'était tellement clair que ca marche du premier coup

Si c'est la réponse (3) j'en suis fort aise.

Si c'est la (1), faites le moi savoir. J'essayerai d'être plus clair.

Sinon, ..., ben, ..., tant pis.



PHP-Nuke France - CE -> Blocks

Toutes les heures sont au format GMT + 2 Heures

Aller à la page Précédente  1, 2, 3, 4, 5, 6, 7  Suivante
Page 4 sur 7


>> Fermer cette Page <<