$userid = $authAdapter->getResultRowObject('id')->id;
$this->_helper->SyjSession->login($userid);
+ $user = $this->_helper->SyjSession->user();
if ($httprequest) {
$api = $this->_helper->SyjApi->setCode(200);
+ $data = array('pseudo' => $user->pseudo);
$login_geom_id = $formData['login_geom_id'];
if ($login_geom_id) {
if (!$pathMapper->find((int)$login_geom_id, $path)) {
throw new Syj_Exception_Request();
}
- if ($path->creator->id === $userid) {
- $api->setBody("1"); // creator of displayed geometry
- } else {
- $api->setBody("0");
- }
+ $data['iscreator'] = ($path->creator->id === $userid);
} else {
- $api->setBody("1"); // no geometry displayed: creator of the (future) geometry
+ $data['iscreator'] = true;
}
+ $api->setBodyJson($data);
} else {
$this->redirect();
}
'action' => 'index',
'controller' => 'account'),
$this->translate("my account"), true,
- 'logged-show');
+ 'logged-show logged-pseudo',
+ $this->loggedUser ? " ({$this->loggedUser->pseudo})": " (%s)"
+ );
}
/*
class Syj_View_Helper_FooterLink extends Zend_View_Helper_Abstract
{
- public function FooterLink($routeoptions, $text, $redirect=true, $extraclass=null) {
+ public function FooterLink($routeoptions, $text, $redirect=true, $extraclass=null, $extratext="") {
$page = new Zend_Navigation_Page_Mvc($routeoptions);
if ($page->isActive()) {
$link = $this->view->escape($text);
if (isset($extraclass)) {
$class = "$class $extraclass";
}
- return '<div class="' . $class . '">' . $link . '</div>' . PHP_EOL;
+ return '<div class="' . $class . '">' . $link . $extratext . '</div>' . PHP_EOL;
}
}
},
success: function(transport) {
- if (transport.responseText === "1") {
- LoginMgr.login(true);
- } else {
- LoginMgr.login();
+ if (!transport.responseJSON ||
+ typeof transport.responseJSON.iscreator !== "boolean" ||
+ typeof transport.responseJSON.pseudo !== "string"
+ ) {
+ this.messenger.setMessage(SyjStrings.unknownError, "error");
+ return;
}
+ LoginMgr.login(transport.responseJSON.iscreator);
+ $$('.logged-pseudo').each(function(elt) {
+ $A(elt.childNodes).filter(function(node) {
+ return (node.nodeType === 3 || node.tagName.toLowerCase() === 'br');
+ }).each(function(node) {
+ node.nodeValue = node.nodeValue.replace('%s', transport.responseJSON.pseudo);
+ });
+ });
SYJView.messenger.setMessage(SyjStrings.loginSuccess, "success");
this.modalbox.hide();
if (SYJView.needsFormResubmit) {