<?php defined('SYSPATH') or die('No direct script access.');
class Controller_Page extends Controller_Application {
	public $template = 'template';

public function action_index()
{
$content = View::factory('template');
$this->template->bind_global('menu_curent', $menu_curent );
$menu_curent = 'Accueil';

/* ---debut slider--- */
$this->template->bind_global('sliders', $sliders);
$sliders = Model::factory('Slider');
$sliders = $sliders->get_all();
/* ---fin slider--- */

/* ---debut menu droit--- */
$this->template->bind_global('categoris', $categoris);
$categoris = Model::factory('Categorie');
$categoris = $categoris->get_all();
/* ---fin menu droit--- */

$partenaires = Model::factory('Partenaire');
$partenaires = $partenaires->get_all();
$content->bind_global('partenaires', $partenaires);

/* ---debut arrivage--- */
$this->template->bind_global('arrivages', $arrivages);
$arrivages = Model::factory('Produit');
$arrivages = $arrivages->get_arrivage();
/* ---fin arrivage--- */

/* ---debut promotion--- */
$this->template->bind_global('promotions', $promotions);		
$promotions = Model::factory('Produit');
$promotions = $promotions->get_promotion();
/* ---Fin promotion--- */

/* ---debut fil d'actualité
$content->bind_global('actualites', $actualites);
$actualites = Model::factory('Actualite');
$actualites = $actualites->get_all();
      fin fil d'actualité--- */



/* ---debut à la une des produits--- */

$this->template->bind_global('produits', $produits);
$this->template->bind_global('images', $images);
$produits = Model::factory( 'Produit');
$produits = $produits->get_all_products(24,0);

/* ---fin à la une des produits--- */

/* ---debut à la une des produits--- */

$this->template->bind_global('services', $services);
$services = Model::factory( 'Produit');
$services = $services->get_all_services('',0);

/* ---fin à la une des produits--- */

 

// pour lire le fichier
//$this->template->content = $content;

}
	
public function action_presentation()
{
$content = View::factory('pages/presentation');
$content->bind_global('menu_curent', $menu_curent );
$menu_curent = 'Presentation';
$articles = Model::factory('Article');

$partenaires = Model::factory('Partenaire');
$partenaires = $partenaires->get_all();
$content->bind_global('partenaires', $partenaires);

$presentation = $articles->select_name("presentation");
$content->bind_global('presentation', $presentation);

$nosunites = $articles->select_name("produits-services");
$content->bind_global('nosunites', $nosunites);

$motgerant = $articles->select_name("mot-gerant");
$content->bind_global('motgerant', $motgerant);

$articles = $articles->get_all();
$content->bind_global('articles', $articles);

/* ---debut menu droit--- */
$content->bind_global('categoris', $categoris);
$categoris = Model::factory('Categorie');
$categoris = $categoris->get_all();
/* ---fin menu droit--- */


/* ---debut fil d'actualité--- */
$content->bind_global('actualites', $actualites);
$actualites = Model::factory('Actualite');
$actualites = $actualites->get_all();
/* ---fin fil d'actualité--- */ 

/* ---debut arrivage--- */
$content->bind_global('arrivages', $arrivages);
$arrivages = Model::factory('Produit');
$arrivages = $arrivages->get_arrivage();
/* ---fin arrivage--- */

/* ---debut promotion--- */
$content->bind_global('promotions', $promotions);		
$promotions = Model::factory('Produit');
$promotions = $promotions->get_promotion();
/* ---Fin promotion--- */

$this->template->bind_global('content', $content); 
}


public function action_developpementdurable()
{
$content = View::factory('pages/developpementdurable');
$content->bind_global('menu_curent', $menu_curent );
$menu_curent = 'Developpement';
$articles = Model::factory('Article');

$partenaires = Model::factory('Partenaire');
$partenaires = $partenaires->get_all();
$content->bind_global('partenaires', $partenaires);

$developpement = $articles->select_name("developpement");
$content->bind_global('developpement', $developpement);


$articles = $articles->get_all();
$content->bind_global('articles', $articles);

$this->template->bind_global('content', $content); 
}

public function action_recrutement()
{
$content = View::factory('pages/cv');
$content->bind_global('menu_curent', $menu_curent );
$menu_curent = 'Recrutement';


$this->template->bind_global('content', $content); 
}

public function action_keddara()
{
$content = View::factory('pages/unites');
$content->bind_global('menu_curent', $menu_curent );
$menu_curent = 'Presentation1';
$articles = Model::factory('Article');

$partenaires = Model::factory('Partenaire');
$partenaires = $partenaires->get_all();
$content->bind_global('partenaires', $partenaires);

$textes = $articles->select_name("keddara");
$content->bind_global('textes', $textes);


$this->template->bind_global('content', $content); 
}

public function action_taicha()
{
$content = View::factory('pages/unites');
$content->bind_global('menu_curent', $menu_curent );
$menu_curent = 'Presentation1';
$articles = Model::factory('Article');

$partenaires = Model::factory('Partenaire');
$partenaires = $partenaires->get_all();
$content->bind_global('partenaires', $partenaires);

$textes = $articles->select_name("taicha");
$content->bind_global('textes', $textes);


$this->template->bind_global('content', $content); 
}


public function action_rse()
{
$content = View::factory('pages/rse');
$content->bind_global('menu_curent', $menu_curent );
$menu_curent = 'Rse';
$articles = Model::factory('Article');

$rse = $articles->select_name("rse");
$content->bind_global('rse', $rse);


$this->template->bind_global('content', $content); 
}


public function action_contact()
{
$content = View::factory('pages/contacts');
$content->bind_global('menu_curent', $menu_curent );
$menu_curent = 'Contact';

/* ---debut menu droit--- */
$content->bind_global('categoris', $categoris);
$categoris = Model::factory('Categorie');
$categoris = $categoris->get_all();
/* ---fin menu droit--- */

/* ---debut fil d'actualité--- */
$content->bind_global('actualites', $actualites);
$actualites = Model::factory('Actualite');
$actualites = $actualites->get_all();
/* ---fin fil d'actualité--- */
 
/* ---debut arrivage--- */
$content->bind_global('arrivages', $arrivages);
$arrivages = Model::factory('Produit');
$arrivages = $arrivages->get_arrivage();
/* ---fin arrivage--- */

/* ---debut promotion--- */
$content->bind_global('promotions', $promotions);		
$promotions = Model::factory('Produit');
$promotions = $promotions->get_promotion();
/* ---Fin promotion--- */

$this->template->bind_global('content', $content); 
}

public function action_produits()
{
$content = View::factory('pages/produits')
->bind('produits', $produits) 
->bind('categories', $categories)
->bind('pager_links', $pager_links)
->bind('categorie_actuelle', $categorie_actuelle)
->set('items_per_page', 12);

$content->bind_global('menu_curent', $menu_curent );
$menu_curent = 'Services';

$produits = Model::factory( 'Produit');
$categories = Model::factory( 'Categorie');
$categorie_actuelle= (string) $this->request->param('categorie');
$categorie_actuelle= str_replace("()","",$categorie_actuelle);

$message_count = $produits->count_all($categorie_actuelle);
$pagination = Pagination::factory(array(
'total_items' => $message_count,
'items_per_page' => 12,
));
$pager_links = $pagination->render();
$pager_links= str_replace("()","",$pager_links);
$produits = $produits->get_all($categorie_actuelle,$pagination->items_per_page,
$pagination->offset);
$categories = $categories->get_all();



/* ---debut menu droit--- */
$content->bind_global('categoris', $categoris);
$categoris = Model::factory('Categorie');
$categoris = $categoris->get_all();
/* ---fin menu droit--- */

/* ---debut fil d'actualité--- */
$content->bind_global('actualites', $actualites);
$actualites = Model::factory('Actualite');
$actualites = $actualites->get_all();
/* ---fin fil d'actualité--- */

/* ---debut arrivage--- */
$content->bind_global('arrivages', $arrivages);
$arrivages = Model::factory('Produit');
$arrivages = $arrivages->get_arrivage();
/* ---fin arrivage--- */

/* ---debut promotion--- */
$content->bind_global('promotions', $promotions);		
$promotions = Model::factory('Produit');
$promotions = $promotions->get_promotion();
/* ---Fin promotion--- */
			
$this->template->bind_global('content', $content); 
}

public function action_detail()
{
$content = View::factory('pages/detailproduit')
->bind('produits', $produits);
$content->bind_global('menu_curent', $menu_curent );
$menu_curent = 'Produits';
$produits = Model::factory( 'Produit');
$id= (string) $this->request->param('id');
$produits = $produits->select($id);


/* ---debut menu droit--- */
$content->bind_global('categoris', $categoris);
$categoris = Model::factory('Categorie');
$categoris = $categoris->get_all();
/* ---fin menu droit--- */


/* ---debut fil d'actualité--- */
$content->bind_global('actualites', $actualites);
$actualites = Model::factory('Actualite');
$actualites = $actualites->get_all();
/* ---fin fil d'actualité--- */ 

/* ---debut arrivage--- */
$content->bind_global('arrivages', $arrivages);
$arrivages = Model::factory('Produit');
$arrivages = $arrivages->get_arrivage();
/* ---fin arrivage--- */

/* ---debut promotion--- */
$content->bind_global('promotions', $promotions);		
$promotions = Model::factory('Produit');
$promotions = $promotions->get_promotion();
/* ---Fin promotion--- */

$this->template->bind_global('content', $content); 
} 

public function action_connecter()
{
$content = View::factory('pages/login');
$content->bind_global('menu_curent', $menu_curent );
$menu_curent = '';



/* ---debut menu droit--- */
$content->bind_global('categoris', $categoris);
$categoris = Model::factory('Categorie');
$categoris = $categoris->get_all();
/* ---fin menu droit--- */


/* ---debut fil d'actualité--- */
$content->bind_global('actualites', $actualites);
$actualites = Model::factory('Actualite');
$actualites = $actualites->get_all();
/* ---fin fil d'actualité--- */ 

/* ---debut arrivage--- */
$content->bind_global('arrivages', $arrivages);
$arrivages = Model::factory('Produit');
$arrivages = $arrivages->get_arrivage();
/* ---fin arrivage--- */

/* ---debut promotion--- */
$content->bind_global('promotions', $promotions);		
$promotions = Model::factory('Produit');
$promotions = $promotions->get_promotion();
/* ---Fin promotion--- */

$this->template->bind_global('content', $content); 
} 

public function action_panier()
{

$content = View::factory('pages/session')
			->bind('MontantGlobal', $MontantGlobal);
			
 $total=0;
	       $Pdata=session::instance()->get('panier'.'prixProduit');
	       $Qtdata=session::instance()->get('panier'.'qteProduit');
    for($i = 0; $i < count($Pdata); $i++)
   {
      $total = $total + ($Qtdata[$i]*$Pdata[$i]);
	    }
   $MontantGlobal=$total;
			
$this->template->content = $content;
}

/*Controlleur du LOGIN*/
public function action_login() 
 {
		 if (Auth::instance()->logged_in())
		{
		Request::instance()->redirect('pages/presentation');
		}
		$this->template->content = View::factory('pages/login')
		->bind('user', $user)
		->bind('errors', $errors);
		if ($_POST)
		{
		$user =  Model::factory( 'user');
			$status = $user->_login($_POST['username'],$_POST['password']);
			if ($status)
			{
				       
						  session::instance()->set('panier',array());
						   session::instance()->set('panier'.'id', array());
						  session::instance()->set('panier'.'libelleProduit', array());
						   session::instance()->set('panier'.'prixProduit' , array());
						  session::instance()->set('panier'.'qteProduit',array());
						 
						  session::instance()->set('panier'.'verrou' ,false);
						  
						   session::instance()->set('nom_utilisateur',$_POST['username']);
						session::instance()->set('total',0);
						
							  // Load the user
        					
						$user=$user->select($_POST['username']);
						foreach ($user as $users) : 
							$id_client=$users['id_client'];
							$solde=$users['solde'];
						endforeach;
						
						//session::instance()->set('id_client',$id_client);
					 //session::instance()->set('solde',$solde);
										 
				$this->request->redirect();
			}else
			{
				//$errors = $_POST->errors('login');
					$this->request->redirect('page/connecter');
			}
		}
 }
 public function action_logout() 
 {
		
				session::instance()->destroy();
				$this->request->redirect();
		
 }
 

 public function action_ajouterarticle(){
 
 $content = View::factory('pages/monespace')
			->bind('libelleProduit', $libelleProduit)
			->bind('qteProduit', $qteProduit)
			->bind('prixProduit', $prixProduit)
			->bind('id', $id)
			->bind('MontantGlobal', $MontantGlobal)
			->bind('lien', $lien);
			
   //Si le panier existe
  
   $qteProduit= (string) $this->request->param('quantite');
    $id= (string) $this->request->param('id');
   $Produit = Model::factory('Produit');
   $Produit = $Produit->select($id);
     $libelleProduit = $Produit[0]['libelle'];
    $prixProduit = $Produit[0]['prix_revendeur'];

	 
   $lien= (string) $this->request->param('lien');
  
	 $lien=str_replace("[",".",$lien);
	  $lien=str_replace("_","/",$lien);
    $lien=str_replace("$","?",$lien);
	
  
      //Si le produit existe déjà on ajoute seulement la quantité
      $positionProduit = array_search($id,  session::instance()->get('panier'.'id'));

      if ($positionProduit !== false)
      {
         $data3=session::instance()->get('panier'.'qteProduit');
		 $data3[$positionProduit]= $data3[$positionProduit]+$qteProduit;
		  session::instance()->set('panier'.'qteProduit',$data3);  
			 }
      else
      {
         //Sinon on ajoute le produit
		  $iddata=session::instance()->get('panier'.'id');
		  $iddata[]=$id;
		  session::instance()->set('panier'.'id',$iddata);
		  
          $data=session::instance()->get('panier'.'libelleProduit');
		  $data[]=$libelleProduit;
		  session::instance()->set('panier'.'libelleProduit',$data);
		  
		  $data1=session::instance()->get('panier'.'qteProduit');
		  $data1[]=$qteProduit;
		  session::instance()->set('panier'.'qteProduit',$data1);
		  
          $data2=session::instance()->get('panier'.'prixProduit');
		  $data2[]=$prixProduit;
		  session::instance()->set('panier'.'prixProduit',$data2);

		 
             }
	   $total=0;
	       $Pdata=session::instance()->get('panier'.'prixProduit');
	       $Qtdata=session::instance()->get('panier'.'qteProduit');
    for($i = 0; $i < count($Pdata); $i++)
   {
      $total = $total + ($Qtdata[$i]*$Pdata[$i]);
	    }
   $MontantGlobal=$total;
   session::instance()->set('total',$total);
    unset($Pdata);
	unset($Qtdata);
	 unset($data);
	unset($tdata1);
	 unset($data2);
	
 // $this->template->content = $content;
//$this->action_monespace();
  $this->request->redirect($lien);
   }
   
   
 public function action_modifierarticle(){
 
 $content = View::factory('pages/monespace')
			->bind('id', $id)
			->bind('qteProduit', $qteProduit)
			->bind('MontantGlobal', $MontantGlobal);
   //Si le panier existe
  
   $id= (string) $this->request->param('id');
   $qteProduit= (string) $this->request->param('quantite');

   
      //Si le produit existe déjà on ajoute seulement la quantité
      $positionProduit = array_search($id,  session::instance()->get('panier'.'id'));

      if ($positionProduit !== false)
      {
       $data3=session::instance()->get('panier'.'qteProduit');
	   
		 $data3[$positionProduit]=$qteProduit;
		  session::instance()->set('panier'.'qteProduit',$data3);	 
 
       }
      
	   $total=0;
	       $Pdata=session::instance()->get('panier'.'prixProduit');
	       $Qtdata=session::instance()->get('panier'.'qteProduit');
    for($i = 0; $i < count($Pdata); $i++)
   {
      $total = $total + ($Qtdata[$i]*$Pdata[$i]);
	    }
   $MontantGlobal=$total;
    session::instance()->set('total',$total);
    unset($Prixdata);
		unset($Qtdata);
	 // $this->template->content = $content;
	 $this->action_monespace();
   }
  
public function action_supprimerarticle(){
   //i le panier existe
		   $content = View::factory('pages/session')
			->bind('libelleProduit', $libelleProduit)
			->bind('qteProduit', $qteProduit)
			->bind('id', $id)
			->bind('prixProduit', $prixProduit)
			->bind('MontantGlobal', $MontantGlobal);
   //Si le panier existe
  
           $id= (string) $this->request->param('id');

			  //Nous allons passer par un panier temporaire
			  $tmp=array();
              $tmp['id'] = array();			 
			  $tmp['libelleProduit'] = array();
			  $tmp['qteProduit'] = array();
			  $tmp['prixProduit'] = array();
			  $tmp['verrou'] = session::instance()->get('panier'.'verrou');
			  
              $sessionID = session::instance()->get('panier'.'id');
			  $sessionLibelle = session::instance()->get('panier'.'libelleProduit');
			  $sessionQt = session::instance()->get('panier'.'qteProduit');
			  $sessionPr = session::instance()->get('panier'.'prixProduit');
			 
			  for($i = 0; $i < count($sessionID); $i++)
			  {
				 if ($sessionID[$i] !== $id)
				 {
					array_push( $tmp['id'],$sessionID[$i]);
					array_push( $tmp['libelleProduit'],$sessionLibelle[$i]);
					array_push( $tmp['qteProduit'],$sessionQt[$i]);
					array_push( $tmp['prixProduit'],$sessionPr[$i]);	
				 }

			  }
			  //On remplace le panier en session par notre panier temporaire à jour
			   session::instance()->set('panier'.'id',$tmp['id'] );
			    session::instance()->set('panier'.'libelleProduit',$tmp['libelleProduit'] );
				 session::instance()->set('panier'.'qteProduit',$tmp['qteProduit'] );
				  session::instance()->set('panier'.'prixProduit',$tmp['prixProduit'] );
			 //On efface notre panier temporaire
			  unset($tmp);
			   $total=0;
	   $Prixdata=session::instance()->get('panier'.'prixProduit');
	     $Qtdata=session::instance()->get('panier'.'qteProduit');
        for($i = 0; $i < count($Prixdata); $i++)
   {
      $total = $total+($Qtdata[$i] * $Prixdata[$i]);
	    }
   $MontantGlobal=$total;
    session::instance()->set('total',$total);
		 unset($session);
        unset($Prixdata);
		unset($Qtdata);	
		//$this->request->redirect(URL::Site('page/panier'));
		  $this->action_monespace();
}


public function action_monespace()
{

$content = View::factory('pages/session');
$content->bind_global('menu_curent', $menu_curent );
$menu_curent = 'panier';
$commandes = Model::factory( 'Commande');

$message_count = $commandes->count_all();
$pagination = Pagination::factory(array(
'total_items' => $message_count,
'items_per_page' => 50,
));

$pager_links = $pagination->render();

$commandes = $commandes->get_all(session::instance()->get('id_client'),$pagination->items_per_page,$pagination->offset);

$this->template->bind_global('content', $content); 
}

/*Controlleur du contact*/
public function action_mail()
{

if ($_POST)
		{
 mail("contact@agregaldz.com", "Message à partir du site web", $_POST['comment'],$_POST['name'],"-f ".$_POST['mail']);
 }
	
//$content = View::factory('pages/contacts');
//$content->bind_global('menu_curent', $menu_curent );
//$menu_curent = 'Contact';

/* ---debut menu droit--- */
//$content->bind_global('categoris', $categoris);
//$categoris = Model::factory('Categorie');
//$categoris = $categoris->get_all();
/* ---fin menu droit--- */



//$this->template->bind_global('content', $content); 
$this->request->redirect('page/contact');
}

/*Controlleur du contact*/
public function action_mailcv()
{

if ($_POST)
		{
		
	$texte= "Nom: ".$_POST['nom']."\r\n".
	        "Prénom: ".$_POST['prenom']."\r\n".
			"Email: ".$_POST['email']."\r\n".
	        "Permis: ".$_POST['permis']."\r\n".
			"Rémuneration souhaitée (DA): ".$_POST['remuneration']."\r\n".
	        "Disponibilités: ".$_POST['disponibilite']."\r\n".
			"Métier principal: ".$_POST['metier']."\r\n".
	        "Poste recherché: ".$_POST['txt_poste']."\r\n";
			
		$boundary = md5("sanwebe");
        //header
        $headers = "MIME-Version: 1.0\r\n"; 
        $headers .= "From: recrutement@agregaldz.com \r\n"; 
        $headers .= "Reply-To: ".$_POST['email']."" . "\r\n";
        $headers .= "Content-Type: multipart/mixed; boundary =". $boundary."\r\n\r\n"; 
        
        //plain text 
        $body = "--$boundary\r\n";
        $body .= "Content-Type: text/plain; charset=ISO-8859-1\r\n";
        $body .= "Content-Transfer-Encoding: base64\r\n\r\n"; 
        $body .= chunk_split(base64_encode($texte));
		
if(isset($_FILES['cv']))
{

//Get uploaded file data
    $file_tmp_name    = $_FILES['cv']['tmp_name'];
    $file_name        = $_FILES['cv']['name'];
    $file_size        = $_FILES['cv']['size'];
    $file_type        = $_FILES['cv']['type'];
    $file_error       = $_FILES['cv']['error'];

    if($file_error > 0)
    {
        die('Upload error or No files uploaded');
    }
    //read from the uploaded file & base64_encode content for the mail
    $handle = fopen($file_tmp_name, "r");
    $content = fread($handle, $file_size);
    fclose($handle);
    $encoded_content = chunk_split(base64_encode($content));

 
        
        //attachment
        $body .= "--$boundary\r\n";
        $body .="Content-Type: $file_type; name=".$file_name."\r\n";
        $body .="Content-Disposition: attachment; filename=".$file_name."\r\n";
        $body .="Content-Transfer-Encoding: base64\r\n";
        $body .="X-Attachment-Id: ".rand(1000,99999)."\r\n\r\n"; 
        $body .= $encoded_content; 
		
		}
	

			
			
 mail("drh@agregaldz.com", "Condidature", $body,$headers);
 }
	
//$content = View::factory('pages/cv');
//$content->bind_global('menu_curent', $menu_curent );
//$menu_curent = 'Recrutement';

/* ---debut menu droit--- */
//$content->bind_global('categoris', $categoris);
//$categoris = Model::factory('Categorie');
//$categoris = $categoris->get_all();
/* ---fin menu droit--- */



//$this->template->bind_global('content', $content); 
$this->request->redirect('page/recrutement');
}

}