Open olien opened 11 years ago
+1
function rr_extended_list($_params)
{
global $REX, $I18N;
if(rex_get('func') == 'duplicate' AND ($id = rex_get('data_id', 'int')))
{
$sql = rex_sql::factory();
# $sql->debugsql = TRUE;
$sql->setTable($_params['subject']->params['table_name']);
$sql->setWhere('id='.$id);
$sql->select('*');
if($sql->getRows())
{
$fields = $sql->getFieldNames();
$iSql = new rex_sql;
# $iSql->debugsql = TRUE;
$iSql->setTable($_params['subject']->params['table_name']);
foreach ($fields as $field) {
if ($field != 'id') {
$iSql->setValue($field, mysql_real_escape_string($sql->getValue($field)));
}
}
$iSql->insert();
}
header('Location: '.str_replace('&', '&', $_params['subject']->getUrl()));
exit;
}
$_params['subject']->removeColumn('duplicate');
$_params['subject']->addColumn('duplicate', '', 50, array('<th class="duplicate">###VALUE###</th>','<td>###VALUE###</td>'));
$_params['subject']->setColumnFormat('duplicate' ,'custom', create_function(
'$params',
'$list = $params["list"];
return \'<a href="\'.$list->getUrl(array("func" => "duplicate")).\'&data_id=###id###">kopieren</a>\';'
));
}
rex_register_extension('XFORM_DATA_LIST', 'rr_extended_list');
Vllt mal als PR?
Ich fände es toll wenn es eine Möglichkeit für den Redakteur geben würde bestehende Datensätze zu kopieren. Dies würde ich benötigen um z.B. "einfach" wiederkehrende Termine erstellen zu können.
LG Oliver