Mise à jour de ce module : 29 Mai 2010

La Shootbox (Shoutbox an anglais) est un module que j'ai développé pour Cms Made Simple dans le but de réaliser un système se rapprochant des "chat" de discussion. La différence se situe dans la non-mémorisation du pseudo utilisé (libre) et de la persistance des messages dans le temps et non dans la session. Ca vous permet ainsi de lire les messages postés pendant votre absence par les autres visiteurs.

Son principe est volontairement simplifié à l'extreme pour celui qui l'utilise, tout en gardant une grande quantité de paramètrage possible pour l'administrateur du site web, chacun peut donc l'installer et l'intégrer selon ses goûts et ses besoins.

Cette dernière version (V1.2.1) inclut un bon nombre de fonctionnalités demandées ces dernières semaines sur les forums de CMS MADE SIMPLE france. Si vous avez une idée, n'hésitez pas à proposer.

Pour voir un exemple d'utilisation, il suffit de regarder sur la droite du site :)

Exemple de code

A placer avec les accolades dans votre gabarit ou carrement dans la page :

{cms_module module='shootbox' maxInScreen='25' maxInDb='100' refresh='3000' timeFormat='H:i:s' delayOfLastShoot='20' sort='desc' url='lien externe' scroll='free'}

et le Css appliqué dans mon cas précis :

#shoutbox{
}

#shoutbox_contenu{
height:250px;
overflow-y:scroll;
margin-right:-14px;
}

.delayOfLastShoot{
display:block;
font-size:0.9em;
font-style:italic;
text-align:center;
}

.shoot_date, .shoot_author{
font-family:Times New Roman;
font-weight:bold;
}

.shoot_texte{
}

.last{
}

#shootboxDiv{
}

#shootboxSpan{
}

#shootboxCreditSpan{
}

 

Liste des paramètres

Ils ont installé ce module sur leur propre site web, merci à vous :)

http://www.sygmathe.com : groupe de musique francophone

http://www.klapperhagen.de/start : site allemand

http://www.alpha-team.fr : site français d'airsoft

http://www.cmsmadesimple.sk/ukazky/shootbox/ : site slovaque dédié à CmsMadeSimple

Changlog

Lier la Shoutbox avec le module FEU

Pour intégrer la shoutbox avec le module FEU et faire en sorte qu'à la connexion à FEU l'utilisateur se connecte en automatique à la shoutbox c'est assez facile :

Ouvrir le fichier Shootbox.module.php dans le répertoire /module/shootbox

trouver :

if (isset($_SESSION[$sessionAuthor]) && $_SESSION[$sessionAuthor] != "")

ajouter avant :

$gCms =& $GLOBALS["gCms"]; //Si le module FEU est installé et qu'une personne est logguée on récupère son pseudo if( isset( $gCms->modules['FrontEndUsers'] ) && isset( $gCms->modules['FrontEndUsers']['object']) && $gCms->modules['FrontEndUsers']['object']->LoggedInId() != null) { $feuModule = $gCms->modules['FrontEndUsers']['object']; $user_properties = $feuModule->GetUserProperties($feuModule->LoggedInId()); $login = null; //On récupère le pseudo de la personne foreach ($user_properties as $user_propertie) { if($user_propertie["title"] == "pseudo") // Choice the name of the user's property to show { $login = $user_propertie["data"]; break; } } if($login == null) { $login = $feuModule->LoggedInId(); } $_SESSION[$sessionAuthor] = $login; return "<div id=\"shootboxDiv\"> <span id=\"shootboxNickname\">".$_SESSION[$sessionAuthor]." : </span> <span id=\"shootboxSpan\">".$this->CreateInputText ($this->GetName(), 'input', null, null, 500)."</span> ".$this->_getCredit()." </div>"; }

Enregistrer.