use Galerie\Mail\MailSender;
use Custom\View\Helper\Format;
+use Custom\Model\PairManager;
class Module implements
$result::initialize($config['mail']);
return $result;
},
+ 'Galerie\Model\GaleriePairTable' => function($sm) {
+ return new PairManager(
+ $sm->get('Zend\Db\Adapter\Adapter'),
+ 'gallery'
+ );
+ },
),
);
}
private $_galerieInfoExporter;
private $_galerieMailSender;
private $_viewResolver;
+ private $_galeriePairTable;
private $_translator;
return $this->_viewResolver;
}
+ private function _getGaleriePairTable()
+ {
+ if (!$this->_galeriePairTable) {
+ $sm = $this->getServiceLocator();
+ $this->_galeriePairTable = $sm->get('Galerie\Model\GaleriePairTable');
+ }
+ return $this->_galeriePairTable;
+ }
+
} else {
// Nous sommes en modification
$form->get('submit')->setValue('Modifier');
- // Il faut préremplir le formulaire avec les données actuelles
- $form->bind($galerie);
// Garder cette information pour la vue
$is_new = false;
}
+
+ // Il faut préremplir le formulaire avec les données actuelles
+ $form->bind($galerie);
+
// Récupération de l'objet requête
$request = $this->getRequest();
if ($request->isPost()) {
{
$id = $this->params()->fromRoute('id', null);
$galerie = $this->_getGalerieInfoTable()->any($id);
+
+ $pairs = $this->_getGaleriePairTable()->all();
+ unset($pairs[$id]);
+
return new ViewModel(array(
'id' => $id,
'galerie' => $galerie,
+ 'pairs' => $pairs,
));
}
use Zend\Db\TableGateway\TableGatewayInterface;
use Zend\Db\Sql\Sql;
use Zend\Db\Sql\Where;
+use Zend\Db\Sql\Select;
use Custom\Model\Entity;
))
->join('photo', 'gallery.id = photo.id_gallery', array(
'nb' => new \Zend\Db\Sql\Expression('count(photo.id)')
- ))
+ ), Select::JOIN_LEFT)
->group(array(
'user.lastname',
'user.firstname',
namespace Galerie\Model;
use Zend\Db\Adapter\Adapter;
-use Custom\Model\Manager;
+use Custom\Model\EntityManager;
use Custom\Model\Entity;
-class GalerieTable extends Manager
+class GalerieTable extends EntityManager
{
public $table = 'gallery';
<?php endif; ?>
<?php echo $this->form()->openTag($form); ?>
-<?php echo $this->formRow($form->get('id')); ?>
<div style="overflow: hidden; width: 100%;">
<span style="float: left; width: 150px; text-align: right; font-weight: bold; cursor: pointer;">
<?php echo $this->formLabel($form->get('name')); ?>
<p>Description : <?php echo $galerie->description; ?></p>
<p>Propriétaire : <?php echo $galerie->username; ?></p>
<p>Nombre de photographies : <?php echo $galerie->nb; ?></p>
+
+<h1>Navigation</h1>
+<h2>Accès direct aux autres galeries</h2>
+<ul>
+<?php foreach($pairs as $id => $name): ?>
+<li><a src="/galeries/voir/<?php echo $id; ?>"><?php echo $name; ?></a></li>
+<?php endforeach; ?>
+</ul>
+
$entity->toUpdatableArray(),
$entity->toPrimaryArray()
);
+ die("update");
} else {
$keys = array();
- foreach($primary_array as $k => $v) {
+ foreach($this->extract_primary($entity) as $k => $v) {
$keys[] = "{$k}: {$v}";
}
$keys = implode(', ', $keys);