switch ($direction) { case "up": $transf_rule->rank--; break; case "down": $transf_rule->rank++; break; default: } $transf_rule_to_move = new CEAITransformationRule(); $transf_rule_to_move->eai_transformation_ruleset_id = $transf_rule->eai_transformation_ruleset_id; $transf_rule_to_move->rank = $transf_rule->rank; $transf_rule_to_move->loadMatchingObject(); if ($transf_rule_to_move->_id) { $direction == "up" ? $transf_rule_to_move->rank++ : $transf_rule_to_move->rank--; $transf_rule_to_move->store(); } $transf_rule->store(); /** @var CEAITransformationRuleSet $actor */ $transf_ruleset = new CEAITransformationRuleSet(); $transf_ruleset->load($transf_rule->eai_transformation_ruleset_id); /** @var CEAITransformationRule[] $transformation_rules */ $transformation_rules = $transf_ruleset->loadBackRefs("eai_transformation_rules", "rank"); $i = 1; foreach ($transformation_rules as $_trans_rule) { $_trans_rule->rank = $i; $_trans_rule->store(); $i++; } CAppUI::stepAjax("CEAITransformationRule-msg-Move rank done"); CApp::rip();