PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 1.3.1
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v1.3.1
5.11.1 5.11.0 5.10.2 5.10.1 trunk 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.2 1.1.3 1.2.0 1.3.0 1.3.1 1.3.2 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.1.3 4.10.0 4.11.0 4.12.0 4.13.0 4.13.2 4.13.3 4.13.4 4.13.5 4.14.0 4.14.1 4.14.2 4.15.0 4.15.1 4.15.2 4.15.3 4.2.0 4.3.0 4.3.1 4.4.1 4.4.2 4.5.0 4.6.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.1.0 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.10.0 5.2.0 5.2.1 5.2.2 5.3.0 5.3.1 5.3.2 5.3.3 5.6.0 5.6.1 5.7.0 5.7.1 5.8.0 5.8.1 5.8.2
matomo / app / core / DataAccess / TableMetadata.php
matomo / app / core / DataAccess Last commit date
LogQueryBuilder 6 years ago Actions.php 6 years ago ArchiveSelector.php 6 years ago ArchiveTableCreator.php 6 years ago ArchiveTableDao.php 6 years ago ArchiveWriter.php 6 years ago ArchivingDbAdapter.php 6 years ago LogAggregator.php 5 years ago LogQueryBuilder.php 6 years ago LogTableTemporary.php 6 years ago Model.php 6 years ago RawLogDao.php 6 years ago TableMetadata.php 6 years ago
TableMetadata.php
57 lines
1 <?php
2 /**
3 * Piwik - free/libre analytics platform
4 *
5 * @link https://matomo.org
6 * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
7 */
8 namespace Piwik\DataAccess;
9
10 use Piwik\Db;
11
12 /**
13 * Data Access Object that can be used to get metadata information about
14 * the MySQL tables Piwik uses.
15 */
16 class TableMetadata
17 {
18 /**
19 * Returns the list of column names for a table.
20 *
21 * @param string $table Prefixed table name.
22 * @return string[] List of column names..
23 */
24 public function getColumns($table)
25 {
26 $table = str_replace("`", "", $table);
27
28 $columns = Db::fetchAll("SHOW COLUMNS FROM `" . $table . "`");
29
30 $columnNames = array();
31 foreach ($columns as $column) {
32 $columnNames[] = $column['Field'];
33 }
34
35 return $columnNames;
36 }
37
38 /**
39 * Returns the list of idaction columns in a table. A column is
40 * assumed to be an idaction reference if it has `"idaction"` in its
41 * name (eg, `"idaction_url"` or `"idaction_content_name"`.
42 *
43 * @param string $table Prefixed table name.
44 * @return string[]
45 */
46 public function getIdActionColumnNames($table)
47 {
48 $columns = $this->getColumns($table);
49
50 $columns = array_filter($columns, function ($columnName) {
51 return strpos($columnName, 'idaction') !== false;
52 });
53
54 return array_values($columns);
55 }
56 }
57