67 lines
1.6 KiB
PHP
67 lines
1.6 KiB
PHP
<?php
|
|
|
|
namespace HermannTelser\Gutachten\DB\Select;
|
|
|
|
use HermannTelser\Gutachten\DB\DbFunction;
|
|
use TYPO3\CMS\Core\Utility\GeneralUtility;
|
|
|
|
class StandardsMove
|
|
{
|
|
/**
|
|
* @return bool
|
|
*/
|
|
public static function move()
|
|
{
|
|
$id = GeneralUtility::_GP('id');
|
|
if (!is_numeric($id)) {
|
|
return [];
|
|
}
|
|
|
|
$pid = GeneralUtility::_GP('pid');
|
|
if (!is_numeric($pid)) {
|
|
return [];
|
|
}
|
|
|
|
$dir = GeneralUtility::_GP('move');
|
|
if (!\in_array($dir, ['first', 'up', 'down', 'last'])) {
|
|
return [];
|
|
}
|
|
|
|
$arr = DbFunction::select('tx_gutachten_projektestandards', '*', ['pid' => $pid, 'ORDER' => 'pos']);
|
|
|
|
$order = [];
|
|
foreach ($arr as $key => $value) {
|
|
$k = $value['pos'] * 10;
|
|
|
|
if ($value['id'] == $id) {
|
|
switch ($dir) {
|
|
case 'first':
|
|
$k = 0;
|
|
break;
|
|
case 'up':
|
|
$k -= 15;
|
|
break;
|
|
case 'down':
|
|
$k += 15;
|
|
break;
|
|
case 'last':
|
|
$k = 3000;
|
|
break;
|
|
}
|
|
}
|
|
$order[$k] = $value;
|
|
}
|
|
ksort($order);
|
|
|
|
$i = 1;
|
|
$update_array = [];
|
|
foreach ($order as $key => $value) {
|
|
$value_array['pos'] = $i;
|
|
DbFunction::secureUpdate('tx_gutachten_projektestandards', $value_array, ['id' => $value['id']]);
|
|
++$i;
|
|
}
|
|
echo 1;
|
|
exit;
|
|
}
|
|
}
|