Other various changes

This commit is contained in:
2025-04-04 15:27:16 -04:00
parent 6af5f2a3f8
commit f114843e4c
20 changed files with 231 additions and 190 deletions

View File

@ -12,9 +12,11 @@ use App\Entity\Bible;
use App\Entity\Speaker;
use App\Entity\Series;
use App\Entity\Note;
use App\Entity\NoteShares;
use App\Entity\SharedNote;
use App\Utils\Utils;
use Doctrine\DBAL\Exception\ReadOnlyException;
use Doctrine\ORM\EntityManagerInterface;
use Exception;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
@ -54,7 +56,7 @@ class AjaxController extends AbstractController
$user = $this->getUser();
if($template_id) {
if ($template_id) {
$template = $emi->getRepository(Template::class)->find($template_id);
$template->setName($template_name);
$template->setContent($template_value);
@ -166,8 +168,12 @@ class AjaxController extends AbstractController
$ref = new Reference();
$ref->setType($data->type);
if(is_numeric($data->book)) {
if (is_numeric($data->book)) {
$ref->setNdx($data->book);
} elseif ($data->type == 'ld' || $data->type == 'hc') {
$type = substr($data->book, 0, 2);
$ref->setType($type);
$ref->setLabel($data->book);
}
ReferenceController::$emi = $emi;
@ -191,13 +197,27 @@ class AjaxController extends AbstractController
'note' => ReferenceController::retrieveNote($user)
};
if (!is_a($ret, Reference::class)) {
$ret = new Reference();
$ref = new Reference();
if (is_a($ret, Reference::class)) {
$ref = $ret;
}
if ($data->type == 'hc' && is_array($ret)) {
$ref->setLabel(
substr($ret[0]->getLabel(), 0, strpos($ret[0]->getLabel(), '-'))
);
$content = null;
foreach ($ret as $row) {
$content .= $row->getContent().PHP_EOL.PHP_EOL;
}
$ref->setContent($content);
}
$res->setContent(json_encode([
'text' => $ret->getContent(),
'title' => "{$ret->getLabel()}",
'text' => $ref->getContent(),
'title' => $ref->getLabel(),
]));
return $res;
@ -223,28 +243,12 @@ class AjaxController extends AbstractController
{
$res = new Response();
$data = json_decode($req->getContent());
$path = match($data->type) {
'creed' => 'Creeds',
'bc' => 'Belgic',
'hc' => 'Heidelberg',
'cd' => 'Dort',
'wcf' => 'Westminster/Confessions',
'wsc' => 'Westminster/Shorter Catechism',
'wlc' => 'Westminster/Larger Catechism',
'lbc' => 'London',
'39a' => '39 Articles',
'1hc' => '1 Helvetic Catechism',
'2hc' => '2 Helvetic Catechism',
'sd' => 'Savor Declaration',
'agc' => 'Augsburg Confession'
};
$ref = $emi->getRepository(Reference::class)->find($data->refId);
$ret = file_put_contents(dirname(dirname(__DIR__))."/references/{$path}/{$data->file}", $data->text);
if($ret !== false) {
$res->setContent(json_encode(['msg' => 'File Saved']));
} else {
$res->setContent(json_encode(['msg' => 'Failed to save file']));
if ($ref) {
$ref->setContent($data->text);
$emi->persist($ref);
$res = $this->json(['msg' => 'Reference updated.']);
}
return $res;
@ -371,10 +375,10 @@ class AjaxController extends AbstractController
}
if (is_array($shared) && count($shared) > 0) {
$ns = new NoteShares();
$ns = new SharedNote();
$ns->setNote($note)
->setOwner($user)
->setShare($shared[0]);
->setOwnerId($user->getId())
->setSharedUserId($shared[0]->getId());
$emi->persist($ns);
$emi->flush();
@ -434,7 +438,7 @@ class AjaxController extends AbstractController
if (is_array($ret)) {
$text = null;
foreach($ret as $b) {
foreach ($ret as $b) {
$text .= "{$b->getVerse()}. {$b->getContent()}".PHP_EOL;
}
$bible->setContent($text);
@ -477,16 +481,20 @@ class AjaxController extends AbstractController
$data->trackSaveSize = false;
}
$meta = $user->getMetaData();
$meta['saveInterval'] = $data->saveInterval;
$meta['saveReferences'] = $data->saveReferences;
$meta['noteTextSize'] = $data->noteTextSize;
$meta['trackSaveSize'] = $data->trackSaveSize;
$meta['saveTimeout'] = $data->saveTimeout;
$meta['save-failure-count'] = $data->saveFailureCount;
$user->setMetaData($meta);
$emi->persist($user);
$emi->flush();
try {
$meta = $user->getMetaData();
$meta['saveInterval'] = $data->saveInterval;
$meta['saveReferences'] = $data->saveReferences;
$meta['noteTextSize'] = $data->noteTextSize;
$meta['trackSaveSize'] = $data->trackSaveSize;
$meta['saveTimeout'] = $data->saveTimeout;
$meta['save-failure-count'] = $data->saveFailureCount;
$user->setMetaData($meta);
$emi->persist($user);
$emi->flush();
} catch (ReadOnlyException $e) {
return new Response('Read Only '.$_ENV['DATABASE_URL'], 403);
}
$res = new Response();
$res->setContent(json_encode([