1. IMPORTANT : Nouvelles mesures de sécurité - 2. Règles pour obtenir de l'aide dans les forums de support - 3. Restrictions des droits pour le groupe "Support suspendu"

Il est obligatoire de respecter les Règles de MyBB.fr : Version abrégée ou Version complète pour obtenir du support sur nos forums.

Les membres ayant un site/forum contrevenant aux règles de MyBB.support seront placés dans le groupe "Support suspendu" et ne bénéficieront plus du support du staff. Nous recommandons aux autres membres d'agir de même. Il ne s'agit pas d'un bannissement, le membre retrouvera son statut "normal" dès que sa situation sera conforme aux règles.

Nouveau : un Wiki en français : plus de détails.
Avant de soumettre votre problème, consultez-le, ainsi que la FAQ, sans oublier le moteur de recherche interne.


Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Systeme d'heures
Mots-clés » systeme, heures
19-01-2011, 15:52, (Modification du message : 19-01-2011, 15:57 par Tlams.)
#1
Systeme d'heures
Bonjour,

J'aimerais comprendre le fonctionnement du système d'heure.

Lorsque l'on inscrit un post sur le forum, celui-ci s'inscrit dans la BDD.

Exemple: Pour un post mis le 19/01/11 à 02:48 PM sont numéro est 1295444883

Je cherche a quoi cella correspond.

Sorte de codage de la date de post ? Alors comment le décrypter? Numéros du post? ...


Explication de l'idée:
J'ai repris le plugin "hide_link"(qui sert a cacher les URLs aux invités), je l'ais modifier afin qu'il cache aussi les liens aux utilisateurs ayant posté moins de X post sur le forum.(1 post pour mon forum)

Maintenant j'aimerais aller plus loin, en ajoutant une fonction du genre:
Si le dernier post de l'utilisateur date de plus de X jours alors => Lien cachés.

Pour cella il faut que je récupère la date du dernier post mis par l'utilisateur.
Hors dans la BDD table 'mybb_users' il y a une colonne nommé 'lastpost' avec un numéros.
(Cf la question du haut)

Merci !




Répondre
19-01-2011, 16:41,
#2
RE: Systeme d'heures
La valeur en question est la date/heure en format Unix, qui représente le nombre de secondes après une date et heure de base.

Cela simplifie les calculs de délai, par soustraction de la valeur actuelle obtenu en PHP avec la fonction time().

Donc avec time() - la valeur de 'lastpost', nous obtenons le nombre de secondes avant aujourd'hui.

Il te reste à faire le reste du code PHP... Wink

Administrateur de MyBBCodes.com
Cool " Ce n'est pas ce que vous savez qui est important, c'est ce que vous faites ou ne faites pas!"
Obtenez plus de 175 plugins pour MyBB ici...
~~ AUCUNE AIDE Par MP, MAIL OU MSN !!!~~
Répondre
19-01-2011, 19:03, (Modification du message : 19-01-2011, 19:08 par Tlams.)
#3
RE: Systeme d'heures
J'ai presque réussis.

Code PHP :
$timingBB $mybb->user['lastpost'] ; //Dernier post user 

Seulement cette partie la fonctionne pas.

Il ne retourne pas le temps. Je suppose que c'est un problème d'écriture d'affectation mais je n'arrive pas à la mettre comme il faut.
Répondre
19-01-2011, 19:19,
#4
RE: Systeme d'heures
Qu'est ce que tu veux dire par "il ne retourne pas le temps" ?

Dans $mybb->user['lastpost'] tu va avoir soit 0, soit un nombre du style "1295457270". Attention il faut pour y avoir accès dans la function du plugin que tu ai déclaré $mybb comme variable globale :

Code PHP :
global $mybb 

pour savoir ce que tu as dans $mybb->user tu peux faire un var_dump :

Code PHP :
var_dump($mybb->user); 
Répondre
19-01-2011, 19:57, (Modification du message : 19-01-2011, 19:58 par Tlams.)
#5
RE: Systeme d'heures
C'est bon j'ai réussis.

Voila le résultat pour les curieux ( à éditer dans hidelinks.php)

Code PHP :
function hidelinks_hide(&$message)
{
$formated_datetime DATE("Y-m-d H:i:s");
$unix_timestamp STRTOTIME($formated_datetime);
$timingDiff "518400"//Temps en secondes ( 518400 = 7jours)
$message1 "<FONT color=\"red\">Vous ne vous êtes pas encore présenté, présentez-vous pour voir les liens.</FONT> "// Texte si l'user na jamais posté
$message2 "<FONT color=\"red\">Votre dernier message date de plus de 7 jours, participez au forum pour voir le lien.</FONT> "// Texte si l'user na pas posté récemment 

global $settings$mybb;

    if (
$mybb->settings['hidelinks_enabled'] == "1")
    {
        if(
$mybb->user['usergroup'] == "1"
        {
            
$message preg_replace("!<a[^>]*(http|www)(.*)</a>!siU""{$mybb->settings['hidelinks_message']}"$message);
        }
        
        if(
$mybb->user['postnum'] < "1")
        {
            
$message preg_replace("!<a[^>]*(http|www)(.*)</a>!siU""$message1"$message);
        }
        
        if(
$mybb->user['lastpost'] < ( $unix_timestamp $timingDiff ))
    {
        
$message preg_replace("!<a[^>]*(http|www)(.*)</a>!siU""$message2"$message);
        }
    
    
    }
    



Merci pour l'aide.
Répondre




Utilisateur(s) parcourant ce sujet : 3 visiteur(s)

Contact | MyBB.support | Retourner en haut | Retourner au contenu | Version bas-débit (Archivé) | Syndication RSS
 Utilitaire de traduction fourni par Regentronique