function showDropDown(ModelParameter $param) { $c = $param->getVisibility(); $s = '<div class="btn-group btn-group-update-parameterV"> <button class="btn btn-small dropdown-toggle btn-update-parameterV" data-toggle="dropdown"> <span class="t">' . $c . '</span> <span class="caret"></span></button> <ul class="dropdown-menu">'; foreach (ModelParameter::$validVisibilities as $v) { $s .= "<li><a href='/parameter/updateV/{$param->getName()}/{$v}' class='btn-update-parameterV " . ($c == $v ? 'btn-primary' : '') . "' data-id='{$param->getName()}' data-value='{$v}'>{$v}</a></li>"; } $s .= '</ul> </div>'; return $s; }
public function hydrate(array $data) { foreach ($this->getParameters() as $k => $v) { if (array_key_exists($k, $data) && array_key_exists($k . 'V', $data) && array_key_exists($k . 'T', $data)) { $a = new ModelParameter(); $this->addParameter($a->hydrate(array('name' => $k, 'value' => $data[$k], 'type' => $data[$k . 'T'], 'visibility' => $data[$k . 'V']))); } } $b = new ModelParameter(); $c = new ModelParameter(); $this->addParameter($b->hydrate(array('name' => 'photos', 'value' => null, 'visibility' => isset($data['photosV']) ? $data['photosV'] : 'prive'))); $this->addParameter($c->hydrate(array('name' => 'skills', 'value' => null, 'visibility' => isset($data['skillsV']) ? $data['skillsV'] : 'prive'))); return parent::hydrate($data); }
private function updateV($args) { $p = ServiceRenderJson::newInstance(); $pro = ServiceAuth::getInstance()->getUser()->getProfile(); if (isset($_POST['id'], $_POST['value'])) { if (!($u = $pro->getParameter($_POST['id']))) { $p->setData('success', false)->setData('message', 'Paramètre inconnu'); } else { if (!ModelParameter::isValidVisibility($_POST['value'])) { $p->setData('success', false)->setData('message', 'Valeur incorrecte'); } else { $u->setVisibility($_POST['value']); // we persist the Profile, not the Parameter ! Be careful if (ServiceDb::getInstance()->persist($pro)) { $p->setData('success', true)->setData('message', 'La visibilité du paramètre a bien été modifiée'); ServiceDb::getInstance()->persist(ModelAction::newInstance()->setUser_id(ServiceAuth::getInstance()->getUser()->getId())->setType('update')->setObject('parameter visibility')->setValue($_POST['id'])->setWhen()); } else { $p->setData('message', 'L\'opération a échoué !'); } } } } else { $p->setData('success', false); } $p->render(); }