Hacked By AnonymousFox

Current Path : /home/missmand/public_html/lib/class/
Upload File :
Current File : /home/missmand/public_html/lib/class/Tool.php

<?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