Table des matières

Projet 2017 : exemples

Contrôleur My

Affiche la liste des Hosts de l'utilisateur connecté : l'usage de l'objet $hostsItems (avec phpMv-UI) n'est pas obligatoire.

<?php
namespace controllers;
 use libraries\Auth;
use micro\orm\DAO;
use Ajax\semantic\html\content\view\HtmlItem;

 /**
 * Controller My
 **/
class My extends ControllerBase{

	/**
	 * Mes services
	 * Hosts et virtualhosts de l'utilisateur connecté
	 */
	public function index(){
		if(Auth::isAuth()){
			$user=Auth::getUser();
			$hosts=DAO::getAll("models\Host","idUser=".$user->getId());

			$hostsItems=$this->semantic->htmlItems("list-hosts");
			$hostsItems->fromDatabaseObjects($hosts, function($host){
				$item=new HtmlItem("");
				$item->addImage("public/img/host.png")->setSize("tiny");
				$item->addItemHeaderContent($host->getName(),$host->getIpv4(),"");
				return $item;
			});
			
			//A faire : ajouter virtualhosts
			
			$this->jquery->compile($this->view);
			$this->loadView("My/index.html");
		}

	}
}

Vue associée : views/My/index.html

Affichage avec Twig de l'objet list-hosts créé dans le contrôleur avec phpMv-UI

<h2 class="ui header">
	Mes services
	<div class="sub header">Liste des machines et des machines virtuelles HTTP.</div>
</h2>

<div class="ui grid">
	<div class="eight wide column">
		<h3 class="ui header">
			Mes Hosts
			<div class="sub header">Serveurs dédiés.</div>
			{{ q["list-hosts"] | raw }}
		</h3>
	</div>
	<div class="eight wide column">
			<h3 class="ui header">
			Mes Virtualhosts
			<div class="sub header">Hôtes virtuels sur serveurs mutualisés.</div>
		</h3>
	</div>
</div>