[TASK] Re-work/simplify copyright header in PHP files - Part 4
[Packages/TYPO3.CMS.git] / typo3 / sysext / core / Classes / Database / PreProcessQueryHookInterface.php
1 <?php
2 namespace TYPO3\CMS\Core\Database;
3
4 /**
5 * This file is part of the TYPO3 CMS project.
6 *
7 * It is free software; you can redistribute it and/or modify it under
8 * the terms of the GNU General Public License, either version 2
9 * of the License, or any later version.
10 *
11 * For the full copyright and license information, please read the
12 * LICENSE.txt file that was distributed with this source code.
13 *
14 * The TYPO3 project - inspiring people to share!
15 */
16 /**
17 * Interface for classes which hook into \TYPO3\CMS\Core\Database\DatabaseConnection
18 * and do additional processing before a query has been executed.
19 *
20 * @author Xavier Perseguers <typo3@perseguers.ch>
21 */
22 interface PreProcessQueryHookInterface {
23 /**
24 * Pre-processor for the SELECTquery method.
25 *
26 * @param string $select_fields Fields to be selected
27 * @param string $from_table Table to select data from
28 * @param string $where_clause Where clause
29 * @param string $groupBy Group by statement
30 * @param string $orderBy Order by statement
31 * @param integer $limit Database return limit
32 * @param \TYPO3\CMS\Core\Database\DatabaseConnection $parentObject
33 * @return void
34 */
35 public function SELECTquery_preProcessAction(&$select_fields, &$from_table, &$where_clause, &$groupBy, &$orderBy, &$limit, \TYPO3\CMS\Core\Database\DatabaseConnection $parentObject);
36
37 /**
38 * Pre-processor for the INSERTquery method.
39 *
40 * @param string $table Database table name
41 * @param array $fieldsValues Field values as key => value pairs
42 * @param string/array $noQuoteFields List/array of keys NOT to quote
43 * @param \TYPO3\CMS\Core\Database\DatabaseConnection $parentObject
44 * @return void
45 */
46 public function INSERTquery_preProcessAction(&$table, array &$fieldsValues, &$noQuoteFields, \TYPO3\CMS\Core\Database\DatabaseConnection $parentObject);
47
48 /**
49 * Pre-processor for the INSERTmultipleRows method.
50 * BEWARE: When using DBAL, this hook will not be called at all. Instead,
51 * INSERTquery_preProcessAction() will be invoked for each row.
52 *
53 * @param string $table Database table name
54 * @param array $fields Field names
55 * @param array $rows Table rows
56 * @param string/array $noQuoteFields List/array of keys NOT to quote
57 * @param \TYPO3\CMS\Core\Database\DatabaseConnection $parentObject
58 * @return void
59 */
60 public function INSERTmultipleRows_preProcessAction(&$table, array &$fields, array &$rows, &$noQuoteFields, \TYPO3\CMS\Core\Database\DatabaseConnection $parentObject);
61
62 /**
63 * Pre-processor for the UPDATEquery method.
64 *
65 * @param string $table Database table name
66 * @param string $where WHERE clause
67 * @param array $fieldsValues Field values as key => value pairs
68 * @param string/array $noQuoteFields List/array of keys NOT to quote
69 * @param \TYPO3\CMS\Core\Database\DatabaseConnection $parentObject
70 * @return void
71 */
72 public function UPDATEquery_preProcessAction(&$table, &$where, array &$fieldsValues, &$noQuoteFields, \TYPO3\CMS\Core\Database\DatabaseConnection $parentObject);
73
74 /**
75 * Pre-processor for the DELETEquery method.
76 *
77 * @param string $table Database table name
78 * @param string $where WHERE clause
79 * @param \TYPO3\CMS\Core\Database\DatabaseConnection $parentObject
80 * @return void
81 */
82 public function DELETEquery_preProcessAction(&$table, &$where, \TYPO3\CMS\Core\Database\DatabaseConnection $parentObject);
83
84 /**
85 * Pre-processor for the TRUNCATEquery method.
86 *
87 * @param string $table Database table name
88 * @param \TYPO3\CMS\Core\Database\DatabaseConnection $parentObject
89 * @return void
90 */
91 public function TRUNCATEquery_preProcessAction(&$table, \TYPO3\CMS\Core\Database\DatabaseConnection $parentObject);
92
93 }