so the loginResourceParams has to be in JSON format?
These were my old code:
The snippet:
<?php
$appendUrl = array();
if (isset($_GET)) {
foreach ($_GET as $k => $v) {
if ($k == 'board' || $k == 'thread' || $k == 'post'){
$appendUrl[] = $k . '=' . $modx->sanitizeString($v);
}
}
}
/* private option */
$modx->setOption('discuss.appendUrl', $appendUrl);
The class:
<?php
function __construct(modX &$modx, array $config = array()) {
$this->appendUrl = $this->modx->getOption('discuss.appendUrl');
}
public function sign($sign) {
switch ($sign) {
case 'in':
if ($this->modx->user->isAuthenticated()) {
$filteredAppendUrl = array_diff($this->appendUrl, array('sign=in'));
$filteredAppendUrlString = implode('&', $filteredAppendUrl);
$this->modx->sendRedirect($this->modx->makeUrl($this->modx->resource->get('id'), null, $filteredAppendUrlString));
}
$signInTpl = $this->modx->getOption('discuss.dislogin_chunk', $scriptProperties, 'disLogin');
$properties = array();
$properties['discuss.loginAction'] = '';
$properties['discuss.loginResourceId'] = $this->modx->resource->get('id');
$properties['discuss.core_path'] = $this->config['corePath'];
$loginResourceIdQuery = $this->modx->getOption('discuss.loginResourceIdQuery', $scriptProperties, $appendUrlString);
$properties['discuss.loginResourceIdQuery'] = $loginResourceIdQuery;
$properties['discuss.registerLink'] = $this->modx->makeUrl($this->modx->resource->get('id'), null, 'sign=reg');
$output = $this->getChunk($signInTpl, $properties);
break;
}
}
Snippet call:
[[!Login?
&tplType=`file`
&loginTpl=`[[+discuss.core_path]]elements/chunks/dislgnlogintpl.chunk.tpl`
&logoutTpl=`[[+discuss.core_path]]elements/chunks/dislgnlogouttpl.chunk.tpl`
&loginResourceId=`[[+discuss.loginResourceId]]`
&loginResourceIdQuery=`[[+discuss.loginResourceIdQuery]]`
]]
It was the ’loginResourceIdQuery’ that I proposed.
So how to use loginResourceParams now?