62 lines
1.7 KiB
PHP
62 lines
1.7 KiB
PHP
<?php
|
|
|
|
/**
|
|
* @version CVS: 1.0.0
|
|
* @package Com_Circolari
|
|
* @author Tommaso Cippitelli <tommaso.cippitelli@protocollicreativi.it>
|
|
* @copyright 2025 Tommaso Cippitelli
|
|
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
|
*/
|
|
|
|
namespace Pcrt\Component\Circolari\Administrator\Controller;
|
|
|
|
\defined('_JEXEC') or die;
|
|
|
|
use Joomla\CMS\MVC\Controller\FormController;
|
|
use Joomla\CMS\MVC\Factory\MVCFactoryInterface;
|
|
use Pcrt\Component\Circolari\Administrator\Service\Notifier;
|
|
|
|
/**
|
|
* Circolare controller class.
|
|
*
|
|
* @since 1.0.0
|
|
*/
|
|
class CircolareController extends FormController
|
|
{
|
|
protected $view_list = 'circolares';
|
|
protected $view_item = 'circolare';
|
|
|
|
|
|
public function __construct($config = array(), MVCFactoryInterface $factory = null, $app = null, $input = null)
|
|
{
|
|
parent::__construct($config, $factory, $app, $input);
|
|
$this->registerTask('apply', 'save');
|
|
$this->registerTask('save2new', 'save');
|
|
}
|
|
|
|
|
|
|
|
public function save($key = null, $urlVar = null)
|
|
{
|
|
$app = \Joomla\CMS\Factory::getApplication();
|
|
$input = $app->input;
|
|
$post = $input->get('jform', [], 'array');
|
|
$notify= (int)($post['notify'] ?? 0);
|
|
|
|
$result = parent::save($key, $urlVar);
|
|
|
|
if ($result && $notify) {
|
|
$model = $this->getModel('Circolare');
|
|
$id = (int) $model->getState($model->getName().'.id') ?: (int)($post['id'] ?? 0);
|
|
if ($id <= 0) {
|
|
$db = \Joomla\CMS\Factory::getContainer()->get('DatabaseDriver');
|
|
$id = (int) $db->insertid();
|
|
}
|
|
if ($id > 0) {
|
|
(new Notifier())->sendForCircolare($id, ['onlyIfFirmaObbligatoria' => true]);
|
|
}
|
|
}
|
|
return $result;
|
|
}
|
|
}
|