Skip to content

Commit a2c69b2

Browse files
committed
Move donate message to controller
1 parent 1f45a7b commit a2c69b2

File tree

3 files changed

+61
-41
lines changed

3 files changed

+61
-41
lines changed

com_swjprojects/admin/controller.php

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,10 @@
1010

1111
defined('_JEXEC') or die;
1212

13+
use Joomla\CMS\Component\ComponentHelper;
14+
use Joomla\CMS\Factory;
1315
use Joomla\CMS\Language\Text;
16+
use Joomla\CMS\Layout\LayoutHelper;
1417
use Joomla\CMS\MVC\Controller\BaseController;
1518
use Joomla\CMS\Router\Route;
1619
use Joomla\CMS\Uri\Uri;
@@ -26,6 +29,26 @@ class SWJProjectsController extends BaseController
2629
*/
2730
protected $default_view = 'versions';
2831

32+
/**
33+
* Typical view method for MVC based architecture
34+
*
35+
* @param boolean $cachable If true, the view output will be cached
36+
* @param array $urlparams An array of safe URL parameters and their variable types, for valid values see {@link \JFilterInput::clean()}.
37+
*
38+
* @throws Exception
39+
*
40+
* @return BaseController A BaseController object to support chaining.
41+
*
42+
* @since __DEPLOY_VERSION__
43+
*/
44+
public function display($cachable = false, $urlparams = array())
45+
{
46+
// Show donate message
47+
$this->showDonatemessage();
48+
49+
return parent::display($cachable, $urlparams);
50+
}
51+
2952
/**
3053
* Redirect to site.
3154
*
@@ -66,4 +89,42 @@ public function siteRedirect()
6689
$this->setRedirect(Uri::root() . $redirect . $debug);
6790
$this->redirect();
6891
}
92+
93+
/**
94+
* Method to show donate message by downloads counter.
95+
*
96+
* @throws Exception
97+
*
98+
* @since __DEPLOY_VERSION__
99+
*/
100+
protected function showDonateMessage()
101+
{
102+
// Get params
103+
$params = ComponentHelper::getParams('com_swjprojects');
104+
$config = $params->get('donate_counter', 0);
105+
106+
// Get current downloads
107+
$db = Factory::getDbo();
108+
$query = $db->getQuery(true)
109+
->select('SUM(downloads)')
110+
->from('#__swjprojects_versions');
111+
$db->setQuery($query);
112+
$downloads = $db->loadResult();
113+
114+
// Set message
115+
if (($downloads - $config) >= 10)
116+
{
117+
Factory::getApplication()->enqueueMessage(
118+
LayoutHelper::render('components.swjprojects.message.donate'), '');
119+
120+
// Update params
121+
$params->set('donate_counter', $downloads);
122+
123+
$component = new stdClass();
124+
$component->element = 'com_swjprojects';
125+
$component->params = $params->toString();
126+
127+
$db->updateObject('#__extensions', $component, array('element'));
128+
}
129+
}
69130
}

com_swjprojects/admin/helpers/swjprojects.php

Lines changed: 0 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -47,42 +47,4 @@ public static function addSubmenu($vName)
4747
'index.php?option=com_swjprojects&view=categories',
4848
$vName == 'categories');
4949
}
50-
51-
/**
52-
* Method to show donate message by downloads counter.
53-
*
54-
* @throws Exception
55-
*
56-
* @since 1.3.0
57-
*/
58-
public static function showDonateMessage()
59-
{
60-
// Get params
61-
$params = ComponentHelper::getParams('com_swjprojects');
62-
$config = $params->get('donate_counter', 0);
63-
64-
// Get current downloads
65-
$db = Factory::getDbo();
66-
$query = $db->getQuery(true)
67-
->select('SUM(downloads)')
68-
->from('#__swjprojects_versions');
69-
$db->setQuery($query);
70-
$downloads = $db->loadResult();
71-
72-
// Set message
73-
if (($downloads - $config) >= 10)
74-
{
75-
Factory::getApplication()->enqueueMessage(
76-
LayoutHelper::render('components.swjprojects.message.donate'), '');
77-
78-
// Update params
79-
$params->set('donate_counter', $downloads);
80-
81-
$component = new stdClass();
82-
$component->element = 'com_swjprojects';
83-
$component->params = $params->toString();
84-
85-
$db->updateObject('#__extensions', $component, array('element'));
86-
}
87-
}
8850
}

com_swjprojects/admin/swjprojects.php

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,6 @@
2424
throw new NotAllowed(Text::_('JERROR_ALERTNOAUTHOR'), 403);
2525
}
2626

27-
// Show donate message
28-
SWJProjectsHelper::showDonateMessage();
29-
3027
$controller = BaseController::getInstance('SWJProjects');
3128
$controller->execute(Factory::getApplication()->input->get('task'));
3229
$controller->redirect();

0 commit comments

Comments
 (0)