Unverified Commit 3a7d97d6 authored by Yassine Doghri's avatar Yassine Doghri
Browse files

fix: set episode description footer to null when empty value

change Database connection import with db_connect helper
parent 33f1b91d
Loading
Loading
Loading
Loading
+19 −7
Original line number Diff line number Diff line
@@ -22,7 +22,6 @@ use App\Models\SoundbiteModel;
use CodeIgniter\Exceptions\PageNotFoundException;
use CodeIgniter\HTTP\RedirectResponse;
use CodeIgniter\I18n\Time;
use Config\Database;

class EpisodeController extends BaseController
{
@@ -192,10 +191,12 @@ class EpisodeController extends BaseController
        }

        // update podcast's episode_description_footer_markdown if changed
        $podcastModel = new PodcastModel();
        $this->podcast->episode_description_footer_markdown = $this->request->getPost(
            'description_footer'
        ) === '' ? null : $this->request->getPost('description_footer');

        if ($this->podcast->hasChanged('episode_description_footer_markdown')) {
            $this->podcast->episode_description_footer_markdown = $this->request->getPost('description_footer');
            $podcastModel = new PodcastModel();

            if (! $podcastModel->update($this->podcast->id, $this->podcast)) {
                return redirect()
@@ -313,9 +314,14 @@ class EpisodeController extends BaseController
            $this->episode->chapters_file_remote_url = $chaptersFileRemoteUrl;
        }

        $db = db_connect();
        $db->transStart();

        $episodeModel = new EpisodeModel();

        if (! $episodeModel->update($this->episode->id, $this->episode)) {
            $db->transRollback();

            return redirect()
                ->back()
                ->withInput()
@@ -323,11 +329,15 @@ class EpisodeController extends BaseController
        }

        // update podcast's episode_description_footer_markdown if changed
        $this->podcast->episode_description_footer_markdown = $this->request->getPost('description_footer');
        $this->podcast->episode_description_footer_markdown = $this->request->getPost(
            'description_footer'
        ) === '' ? null : $this->request->getPost('description_footer');

        if ($this->podcast->hasChanged('episode_description_footer_markdown')) {
            $podcastModel = new PodcastModel();
            if (! $podcastModel->update($this->podcast->id, $this->podcast)) {
                $db->transRollback();

                return redirect()
                    ->back()
                    ->withInput()
@@ -335,6 +345,8 @@ class EpisodeController extends BaseController
            }
        }

        $db->transComplete();

        return redirect()->route('episode-view', [$this->podcast->id, $this->episode->id]);
    }

@@ -407,7 +419,7 @@ class EpisodeController extends BaseController
                ->with('errors', $this->validator->getErrors());
        }

        $db = Database::connect();
        $db = db_connect();
        $db->transStart();

        $newNote = new Note([
@@ -503,7 +515,7 @@ class EpisodeController extends BaseController
                ->with('errors', $this->validator->getErrors());
        }

        $db = Database::connect();
        $db = db_connect();
        $db->transStart();

        $publishMethod = $this->request->getPost('publication_method');
@@ -589,7 +601,7 @@ class EpisodeController extends BaseController
                ->with('errors', $this->validator->getErrors());
        }

        $db = Database::connect();
        $db = db_connect();

        $db->transStart();

+2 −3
Original line number Diff line number Diff line
@@ -19,7 +19,6 @@ use App\Models\LanguageModel;
use App\Models\PodcastModel;
use CodeIgniter\Exceptions\PageNotFoundException;
use CodeIgniter\HTTP\RedirectResponse;
use Config\Database;
use Config\Services;

class PodcastController extends BaseController
@@ -226,7 +225,7 @@ class PodcastController extends BaseController
        ]);

        $podcastModel = new PodcastModel();
        $db = Database::connect();
        $db = db_connect();

        $db->transStart();

@@ -334,7 +333,7 @@ class PodcastController extends BaseController
        $this->podcast->is_locked = $this->request->getPost('lock') === 'yes';
        $this->podcast->updated_by = (int) user_id();

        $db = Database::connect();
        $db = db_connect();
        $db->transStart();

        $podcastModel = new PodcastModel();
+1 −2
Original line number Diff line number Diff line
@@ -23,7 +23,6 @@ use App\Models\PlatformModel;
use App\Models\PodcastModel;
use CodeIgniter\Exceptions\PageNotFoundException;
use CodeIgniter\HTTP\RedirectResponse;
use Config\Database;
use Config\Services;
use ErrorException;
use League\HTMLToMarkdown\HtmlConverter;
@@ -182,7 +181,7 @@ class PodcastImportController extends BaseController
        }

        $podcastModel = new PodcastModel();
        $db = Database::connect();
        $db = db_connect();

        $db->transStart();

+1 −1
Original line number Diff line number Diff line
@@ -303,7 +303,7 @@ class InstallController extends Controller
        // Activate user
        $user->activate();

        $db = Database::connect();
        $db = db_connect();

        $db->transStart();
        if (! ($userId = $userModel->insert($user, true))) {
+17 −8
Original line number Diff line number Diff line
@@ -299,7 +299,17 @@ class Podcast extends Entity

    public function setEpisodeDescriptionFooterMarkdown(?string $episodeDescriptionFooterMarkdown = null): static
    {
        if ($episodeDescriptionFooterMarkdown) {
        if ($episodeDescriptionFooterMarkdown === null || $episodeDescriptionFooterMarkdown === '') {
            $this->attributes[
                'episode_description_footer_markdown'
            ] = null;
            $this->attributes[
                'episode_description_footer_html'
            ] = null;

            return $this;
        }

        $converter = new CommonMarkConverter([
            'html_input' => 'strip',
            'allow_unsafe_links' => false,
@@ -311,7 +321,6 @@ class Podcast extends Entity
        $this->attributes[
            'episode_description_footer_html'
        ] = $converter->convertToHtml($episodeDescriptionFooterMarkdown);
        }

        return $this;
    }
Loading