Files
2024-12-17 17:34:10 +01:00

73 lines
1.8 KiB
PHP

<?php
/**
* @package JEM
* @copyright (C) 2013-2024 joomlaeventmanager.net
* @copyright (C) 2005-2009 Christoph Lukes
* @license https://www.gnu.org/licenses/gpl-3.0 GNU/GPL
*
*/
defined('_JEXEC') or die;
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Plugin\PluginHelper;
require_once (JPATH_COMPONENT_SITE.'/classes/controller.form.class.php');
/**
* JEM Component Event Controller
*
*/
class JemControllerEvent extends JemControllerForm
{
/**
* @var string The prefix to use with controller messages.
*
*/
protected $text_prefix = 'COM_JEM_EVENT';
/**
* Constructor.
*
* @param array $config An optional associative array of configuration settings.
* @see JController
*
*/
public function __construct($config = array())
{
parent::__construct($config);
}
/**
* Function that allows child controller access to model data
* after the data has been saved.
* Here used to trigger the jem plugins, mainly the mailer.
*
* @param JModel(Legacy) $model The data model object.
* @param array $validData The validated data.
*
* @return void
*
* @note On J! 2.5 first param is 'JModel &$model' but
* on J! 3.x it's 'JModelLegacy $model'
* one of the bad things making extension developer's life hard.
*/
protected function _postSaveHook($model, $validData = array())
{
$isNew = $model->getState('event.new');
$id = $model->getState('event.id');
// trigger all jem plugins
PluginHelper::importPlugin('jem');
$dispatcher = JemFactory::getDispatcher();
$dispatcher->triggerEvent('onEventEdited', array($id, $isNew));
// but show warning if mailer is disabled
if (!PluginHelper::isEnabled('jem', 'mailer')) {
Factory::getApplication()->enqueueMessage(Text::_('COM_JEM_GLOBAL_MAILERPLUGIN_DISABLED'), 'notice');
}
}
}