Hacked By AnonymousFox
<?php
/**
* Class Tool
*/
namespace Lib;
class Tool {
/**
* Affichage du tableau d'erreur
* @param array la liste des erreurs
*/
public static function getMessage ($messages = array(), $type) {
if(!empty($messages)){
echo'<div class="message" id="'.$type.'">';
echo'<span class="messageCouleur"></span>';
switch ($type) {
case 'succes':
echo '<h3>Succès</h3>';
break;
case 'erreur':
echo '<h3>Erreur</h3>';
break;
}
echo'<p>';
foreach($messages as $message){
echo $message.'<br>';
}
echo'</p>';
echo'</div>';
}
}
/**
* Retourne la page en cours
* @return string
*/
public static function getUrl() {
$url = $_SERVER['PHP_SELF'];
$url = explode('/',$url);
return end($url);
}
/**
* Coupe une chaine de caractère et ajoute "..."
* @param string la chaine de caractère
* @param int le nombre de caractéres maximum
* @return string
*/
public static function tronquer($description,$max_caracteres){
if (strlen($description)>$max_caracteres){
$description = substr($description, 0, $max_caracteres);
$position_espace = strrpos($description, " ");
if($position_espace == false)
$position_espace = strrpos($description, "-");
$description = substr($description, 0, $position_espace);
$description = $description."...";
}
return $description;
}
/**
* Récupération d'une argument en GET numéraire
* @param int le paramétre GET
* @param string la redirection si il y'a un erreur ( falcutatif )
* @return int
*/
public static function getId($get,$redirection = null){
if(!isset($get) || empty($get) || !is_numeric($get) ){
if($redirection != null){
header('location:'.$redirection);
die();
}else{
die('Erreur identifiant');
}
}else
return $get;
}
/**
* Récupération d'une argument en GET alphanumérique
* @param int/string le paramétre GET
* @param string la redirection si il y'a un erreur ( falcutatif )
* @return string
*/
public static function getString($get,$redirection = null){
if(!isset($get) || empty($get) ){
if($redirection != null){
header('location:'.$redirection);
die();
}else{
die('Erreur identifiant');
}
}else
return $get;
}
/**
* Pagination
* @param string la requéte SQL
* @param string L'url pour la pagination
* @param int le nombre d'éléments par page
* @param int la variable de la page en cours
* @param bool so il y'a ubne réécriture d'url
*/
public static function addPaginate($requete,$url,$nombre,$page, $reecriture = false){
$pattern = (!$reecriture) ? '.php?page=' : '/';
echo'<ul>';
$precedente = $page-1;
if ($precedente > 0){
echo ('<li class="paginationFirst">');
echo ('<a href="'.$url.$pattern.$precedente.'">Précedent</a>');
echo('</li>');
}
$sql = Database::getInstance()->bdd->query($requete);
$data = $sql->fetch();
$count = $data['total'];
$count = ceil($count / $nombre);
for ($i=$page-4; $i<= $page+4; $i++){
if (($i > 0 )&&($i < $count+1)){
if ($i == $page){
echo('<li class="active paginationNumber">');
echo('<p>'.$i.'</p>');
echo('</li>');
}else{
echo('<li class="paginationNumber">');
echo('<a href="'.$url.$pattern.$i.'">'.$i.'</a>');
echo('</li>');
}
}
}
$suivante = $page+1;
if ($suivante <= $count){
echo ('<li class="paginationLast">');
echo ('<a href="'.$url.$pattern.$suivante.'">Suivant</a>');
echo('</li>');
}
echo'</ul>';
}
/**
* Initialisation de la paginations
* @param $nbPage int nombre de page
*/
public static function initPaginate($nbPage){
$return = array();
$page = 1;
$debut = 0;
if (isset($_GET['page'])) {
$page = $_GET['page'];
$debut = $page-1;
$debut *= $nbPage;
}
$return['debut'] = $debut;
$return['page'] = $page;
$return['nbPage'] = $nbPage;
return $return;
}
/**
* Retourne une date avec l'objet datetime
* @param string le format de la date souhaitée
* @param string la date source
*/
public static function dateTime($format, $source = null){
if($source == null){
$dateTime = new \DateTime('now');
return $dateTime->format($format);
}else{
$dateTime = new \DateTime($source);
return $dateTime->format($format);
}
}
/**
* Convertion d'une date
* @param string la date
* @param string le format de convertion
*/
public static function dateConvert($date, $zone){
switch ($zone) {
case 'fr=>en':
$explode1 = explode('-',$date);
$explode2 = explode(' ',$explode1[2]);
if(isset($explode2[1])){
$explode3 = explode(':',$explode2[1]);
$jour = $explode1[0];
$mois = $explode1[1];
$annee = $explode2[0];
$heure = $explode3[0];
$minute = $explode3[1];
return $annee.'-'.$mois.'-'.$jour.' '.$heure.':'.$minute;
}else{
$jour = $explode1[0];
$mois = $explode1[1];
$annee = $explode2[0];
return $annee.'-'.$mois.'-'.$jour;
}
break;
}
}
/**
* Retourne le contenu d'un sujet avec les liens entre valise a
* @param string la chaine de caractére
* @param array tableau d'option
* @return string la chaine avec la balise href sur les liens
*/
public static function autoLink($str, $attributes = array()) {
$attrs = '';
foreach ($attributes as $attribute => $value) {
$attrs .= " {$attribute}=\"{$value}\"";
}
$str = ' ' . $str;
$str = preg_replace(
'`([^"=\'>])((http|https|ftp)://[^\s<]+[^\s<\.)])`i',
'$1<a href="$2"'.$attrs.'>$2</a>',
$str
);
$str = substr($str, 1);
return $str;
}
/**
* Affiche une class par rapport à un modulo
* @param int le numéro de la ligne
* @param array la liste des modulos
*/
public static function addModulo($count, $modulos){
$r = array();
if(!empty($modulos)){
foreach ($modulos as $nb => $modulo) {
if(($count % $nb) == 0) array_push($r, $modulo);
}
}
return implode(' ', $r);
}
/**
* affiche la bonne url pour les éléments ajouté avec le wysiwyg
* @param string la chaine de caractéres
* @return string
*/
public static function getMoxeimage($contenu){
$contenu = str_replace('../../', BASEFRONT, $contenu);
return $contenu;
}
/**
* Retourne les messages flash en session
*/
public static function getFlash(){
$r = '';
if(isset($_SESSION['flash'])){
extract($_SESSION['flash']);
unset($_SESSION['flash']);
$r .= '<div class="message" id="'.$type.'">';
switch ($type) {
case 'succes':
$r .= '<h3>Succès</h3>';
break;
case 'erreur':
$r .= '<h3>Erreur</h3>';
break;
}
$r .= '<span class="messageCouleur"></span>';
$r .= '<p>'.$message.'</p>';
$r .= '</div>';
}
return $r;
}
/**
* Ajouter un message flash en session
*/
public static function setFlash($message, $type = "succes"){
$_SESSION['flash']['message'] = $message;
$_SESSION['flash']['type'] = $type;
}
/**
* Retourne une date de type il y'a
* @param $date date format DateTime
*/
public static function AffDate($date){
if(!ctype_digit($date))
$date = strtotime($date);
if(date('Ymd', $date) == date('Ymd')){
$diff = time()-$date;
if($diff < 60) /* moins de 60 secondes */
return 'Il y a '.$diff.' sec';
else if($diff < 3600) /* moins d'une heure */
return 'Il y a '.round($diff/60, 0).' min';
else if($diff < 10800) /* moins de 3 heures */
return 'Il y a '.round($diff/3600, 0).' heures';
else /* plus de 3 heures ont affiche ajourd'hui à HH:MM:SS */
return 'Aujourd\'hui à '.date('H:i:s', $date);
}
else if(date('Ymd', $date) == date('Ymd', strtotime('- 1 DAY')))
return 'Hier à '.date('H:i:s', $date);
else if(date('Ymd', $date) == date('Ymd', strtotime('- 2 DAY')))
return 'Il y a 2 jours à '.date('H:i:s', $date);
else
return 'Le '.date('d/m/Y à H:i:s', $date);
}
}
?>
Hacked By AnonymousFox1.0, Coded By AnonymousFox