29
0
mirror of https://github.com/joomla/joomla-cms.git synced 2024-06-20 19:15:27 +00:00

[4.3][GUIDEDTOURS] Move code from helper to model (#40015)

This commit is contained in:
Tuan Pham Ngoc 2023-03-10 11:29:30 +07:00 committed by GitHub
parent bdbc50312b
commit 15dfdfb45f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 29 additions and 62 deletions

View File

@ -1,60 +0,0 @@
<?php
/**
* @package Joomla.Administrator
* @subpackage com_guidedtours
*
* @copyright (C) 2023 Open Source Matters, Inc. <https://www.joomla.org>
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace Joomla\Component\Guidedtours\Administrator\Helper;
use Joomla\CMS\Factory;
use Joomla\Database\ParameterType;
// phpcs:disable PSR1.Files.SideEffects
\defined('_JEXEC') or die;
// phpcs:enable PSR1.Files.SideEffects
/**
* Guided Tours component helper.
*
* @since 4.3.0
*/
class GuidedtoursHelper
{
/**
* Sets a step language
*
* @param int $id Id of a step
* @param string $language The language to apply to the step
*
* @return boolean
*
* @since 4.3.0
*/
public static function setStepLanguage(int $id, string $language = '*'): string
{
if ($id < 0) {
return false;
}
$db = Factory::getDbo();
$query = $db->getQuery(true);
$fields = [
$db->quoteName('language') . ' = ' . $db->quote($language),
];
$conditions = [
$db->quoteName('tour_id') . ' = ' . $db->quote($id),
];
$query->update($db->quoteName('#__guidedtour_steps'))->set($fields)->where($conditions);
$db->setQuery($query);
return $db->execute();
}
}

View File

@ -16,7 +16,6 @@ use Joomla\CMS\Log\Log;
use Joomla\CMS\MVC\Model\AdminModel;
use Joomla\CMS\Object\CMSObject;
use Joomla\CMS\Plugin\PluginHelper;
use Joomla\Component\Guidedtours\Administrator\Helper\GuidedtoursHelper;
use Joomla\Database\ParameterType;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
@ -105,7 +104,7 @@ class TourModel extends AdminModel
$id = $data['id'];
$lang = $data['language'];
GuidedtoursHelper::setStepLanguage($id, $lang);
$this->setStepsLanguage($id, $lang);
$result = parent::save($data);
@ -532,4 +531,32 @@ class TourModel extends AdminModel
return true;
}
/**
* Sets a tour's steps language
*
* @param int $id Id of a tour
* @param string $language The language to apply to the steps belong the tour
*
* @return boolean
*
* @since __DEPLOY_VERSION__
*/
protected function setStepsLanguage(int $id, string $language = '*'): bool
{
if ($id <= 0) {
return false;
}
$db = $this->getDatabase();
$query = $db->getQuery(true)
->update($db->quoteName('#__guidedtour_steps'))
->set($db->quoteName('language') . ' = :language')
->where($db->quoteName('tour_id') . ' = :tourId')
->bind(':language', $language)
->bind(':tourId', $id, ParameterType::INTEGER);
return $db->setQuery($query)
->execute();
}
}