statistics.php
2.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<?php
/**
* @package Joomla.Administrator
* @subpackage com_finder
*
* @copyright Copyright (C) 2005 - 2019 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
/**
* Statistics model class for Finder.
*
* @since 2.5
*/
class FinderModelStatistics extends JModelLegacy
{
/**
* Method to get the component statistics
*
* @return JObject The component statistics
*
* @since 2.5
*/
public function getData()
{
// Initialise
$db = $this->getDbo();
$query = $db->getQuery(true);
$data = new JObject;
$query->select('COUNT(term_id)')
->from($db->quoteName('#__finder_terms'));
$db->setQuery($query);
$data->term_count = $db->loadResult();
$query->clear()
->select('COUNT(link_id)')
->from($db->quoteName('#__finder_links'));
$db->setQuery($query);
$data->link_count = $db->loadResult();
$query->clear()
->select('COUNT(id)')
->from($db->quoteName('#__finder_taxonomy'))
->where($db->quoteName('parent_id') . ' = 1');
$db->setQuery($query);
$data->taxonomy_branch_count = $db->loadResult();
$query->clear()
->select('COUNT(id)')
->from($db->quoteName('#__finder_taxonomy'))
->where($db->quoteName('parent_id') . ' > 1');
$db->setQuery($query);
$data->taxonomy_node_count = $db->loadResult();
$query->clear()
->select('t.title AS type_title, COUNT(a.link_id) AS link_count')
->from($db->quoteName('#__finder_links') . ' AS a')
->join('INNER', $db->quoteName('#__finder_types') . ' AS t ON t.id = a.type_id')
->group('a.type_id, t.title')
->order($db->quoteName('type_title') . ' ASC');
$db->setQuery($query);
$data->type_list = $db->loadObjectList();
$lang = JFactory::getLanguage();
$plugins = JPluginHelper::getPlugin('finder');
foreach ($plugins as $plugin)
{
$lang->load('plg_finder_' . $plugin->name . '.sys', JPATH_ADMINISTRATOR, null, false, true)
|| $lang->load('plg_finder_' . $plugin->name . '.sys', JPATH_PLUGINS . '/finder/' . $plugin->name, null, false, true);
}
return $data;
}
}