Mercurial > hg > isophonics-drupal-site
comparison vendor/drupal/coder/coder_sniffer/Drupal/Sniffs/Semantics/FunctionAliasSniff.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children | 129ea1e6d783 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:4c8ae668cc8c |
---|---|
1 <?php | |
2 /** | |
3 * Drupal_Sniffs_Semantics_FunctionAliasSniff | |
4 * | |
5 * @category PHP | |
6 * @package PHP_CodeSniffer | |
7 * @link http://pear.php.net/package/PHP_CodeSniffer | |
8 */ | |
9 | |
10 /** | |
11 * Checks that no PHP function name aliases are used. | |
12 * | |
13 * @category PHP | |
14 * @package PHP_CodeSniffer | |
15 * @link http://pear.php.net/package/PHP_CodeSniffer | |
16 */ | |
17 class Drupal_Sniffs_Semantics_FunctionAliasSniff extends Drupal_Sniffs_Semantics_FunctionCall | |
18 { | |
19 | |
20 /** | |
21 * Holds all PHP function name aliases (keys) and originals (values). See | |
22 * http://php.net/manual/en/aliases.php | |
23 * | |
24 * @var array | |
25 */ | |
26 protected $aliases = array( | |
27 '_' => 'gettext', | |
28 'chop' => 'rtrim', | |
29 'close' => 'closedir', | |
30 'com_get' => 'com_propget', | |
31 'com_propset' => 'com_propput', | |
32 'com_set' => 'com_propput', | |
33 'die' => 'exit', | |
34 'diskfreespace' => 'disk_free_space', | |
35 'doubleval' => 'floatval', | |
36 'fbsql' => 'fbsql_db_query', | |
37 'fputs' => 'fwrite', | |
38 'gzputs' => 'gzwrite', | |
39 'i18n_convert' => 'mb_convert_encoding', | |
40 'i18n_discover_encoding' => 'mb_detect_encoding', | |
41 'i18n_http_input' => 'mb_http_input', | |
42 'i18n_http_output' => 'mb_http_output', | |
43 'i18n_internal_encoding' => 'mb_internal_encoding', | |
44 'i18n_ja_jp_hantozen' => 'mb_convert_kana', | |
45 'i18n_mime_header_decode' => 'mb_decode_mimeheader', | |
46 'i18n_mime_header_encode' => 'mb_encode_mimeheader', | |
47 'imap_create' => 'imap_createmailbox', | |
48 'imap_fetchtext' => 'imap_body', | |
49 'imap_getmailboxes' => 'imap_list_full', | |
50 'imap_getsubscribed' => 'imap_lsub_full', | |
51 'imap_header' => 'imap_headerinfo', | |
52 'imap_listmailbox' => 'imap_list', | |
53 'imap_listsubscribed' => 'imap_lsub', | |
54 'imap_rename' => 'imap_renamemailbox', | |
55 'imap_scan' => 'imap_listscan', | |
56 'imap_scanmailbox' => 'imap_listscan', | |
57 'ini_alter' => 'ini_set', | |
58 'is_double' => 'is_float', | |
59 'is_integer' => 'is_int', | |
60 'is_long' => 'is_int', | |
61 'is_real' => 'is_float', | |
62 'is_writeable' => 'is_writable', | |
63 'join' => 'implode', | |
64 'key_exists' => 'array_key_exists', | |
65 'ldap_close' => 'ldap_unbind', | |
66 'magic_quotes_runtime' => 'set_magic_quotes_runtime', | |
67 'mbstrcut' => 'mb_strcut', | |
68 'mbstrlen' => 'mb_strlen', | |
69 'mbstrpos' => 'mb_strpos', | |
70 'mbstrrpos' => 'mb_strrpos', | |
71 'mbsubstr' => 'mb_substr', | |
72 'ming_setcubicthreshold' => 'ming_setCubicThreshold', | |
73 'ming_setscale' => 'ming_setScale', | |
74 'msql' => 'msql_db_query', | |
75 'msql_createdb' => 'msql_create_db', | |
76 'msql_dbname' => 'msql_result', | |
77 'msql_dropdb' => 'msql_drop_db', | |
78 'msql_fieldflags' => 'msql_field_flags', | |
79 'msql_fieldlen' => 'msql_field_len', | |
80 'msql_fieldname' => 'msql_field_name', | |
81 'msql_fieldtable' => 'msql_field_table', | |
82 'msql_fieldtype' => 'msql_field_type', | |
83 'msql_freeresult' => 'msql_free_result', | |
84 'msql_listdbs' => 'msql_list_dbs', | |
85 'msql_listfields' => 'msql_list_fields', | |
86 'msql_listtables' => 'msql_list_tables', | |
87 'msql_numfields' => 'msql_num_fields', | |
88 'msql_numrows' => 'msql_num_rows', | |
89 'msql_regcase' => 'sql_regcase', | |
90 'msql_selectdb' => 'msql_select_db', | |
91 'msql_tablename' => 'msql_result', | |
92 'mssql_affected_rows' => 'sybase_affected_rows', | |
93 'mssql_affected_rows' => 'sybase_affected_rows', | |
94 'mssql_close' => 'sybase_close', | |
95 'mssql_close' => 'sybase_close', | |
96 'mssql_connect' => 'sybase_connect', | |
97 'mssql_connect' => 'sybase_connect', | |
98 'mssql_data_seek' => 'sybase_data_seek', | |
99 'mssql_data_seek' => 'sybase_data_seek', | |
100 'mssql_fetch_array' => 'sybase_fetch_array', | |
101 'mssql_fetch_array' => 'sybase_fetch_array', | |
102 'mssql_fetch_field' => 'sybase_fetch_field', | |
103 'mssql_fetch_field' => 'sybase_fetch_field', | |
104 'mssql_fetch_object' => 'sybase_fetch_object', | |
105 'mssql_fetch_object' => 'sybase_fetch_object', | |
106 'mssql_fetch_row' => 'sybase_fetch_row', | |
107 'mssql_fetch_row' => 'sybase_fetch_row', | |
108 'mssql_field_seek' => 'sybase_field_seek', | |
109 'mssql_field_seek' => 'sybase_field_seek', | |
110 'mssql_free_result' => 'sybase_free_result', | |
111 'mssql_free_result' => 'sybase_free_result', | |
112 'mssql_get_last_message' => 'sybase_get_last_message', | |
113 'mssql_get_last_message' => 'sybase_get_last_message', | |
114 'mssql_min_client_severity' => 'sybase_min_client_severity', | |
115 'mssql_min_error_severity' => 'sybase_min_error_severity', | |
116 'mssql_min_message_severity' => 'sybase_min_message_severity', | |
117 'mssql_min_server_severity' => 'sybase_min_server_severity', | |
118 'mssql_num_fields' => 'sybase_num_fields', | |
119 'mssql_num_fields' => 'sybase_num_fields', | |
120 'mssql_num_rows' => 'sybase_num_rows', | |
121 'mssql_num_rows' => 'sybase_num_rows', | |
122 'mssql_pconnect' => 'sybase_pconnect', | |
123 'mssql_pconnect' => 'sybase_pconnect', | |
124 'mssql_query' => 'sybase_query', | |
125 'mssql_query' => 'sybase_query', | |
126 'mssql_result' => 'sybase_result', | |
127 'mssql_result' => 'sybase_result', | |
128 'mssql_select_db' => 'sybase_select_db', | |
129 'mssql_select_db' => 'sybase_select_db', | |
130 'mysql' => 'mysql_db_query', | |
131 'mysql_createdb' => 'mysql_create_db', | |
132 'mysql_db_name' => 'mysql_result', | |
133 'mysql_dbname' => 'mysql_result', | |
134 'mysql_dropdb' => 'mysql_drop_db', | |
135 'mysql_fieldflags' => 'mysql_field_flags', | |
136 'mysql_fieldlen' => 'mysql_field_len', | |
137 'mysql_fieldname' => 'mysql_field_name', | |
138 'mysql_fieldtable' => 'mysql_field_table', | |
139 'mysql_fieldtype' => 'mysql_field_type', | |
140 'mysql_freeresult' => 'mysql_free_result', | |
141 'mysql_listdbs' => 'mysql_list_dbs', | |
142 'mysql_listfields' => 'mysql_list_fields', | |
143 'mysql_listtables' => 'mysql_list_tables', | |
144 'mysql_numfields' => 'mysql_num_fields', | |
145 'mysql_numrows' => 'mysql_num_rows', | |
146 'mysql_selectdb' => 'mysql_select_db', | |
147 'mysql_tablename' => 'mysql_result', | |
148 'oci8append' => 'ocicollappend', | |
149 'oci8assign' => 'ocicollassign', | |
150 'oci8assignelem' => 'ocicollassignelem', | |
151 'oci8close' => 'ocicloselob', | |
152 'oci8free' => 'ocifreecoll', | |
153 'oci8free' => 'ocifreedesc', | |
154 'oci8getelem' => 'ocicollgetelem', | |
155 'oci8load' => 'ociloadlob', | |
156 'oci8max' => 'ocicollmax', | |
157 'oci8ocifreecursor' => 'ocifreestatement', | |
158 'oci8save' => 'ocisavelob', | |
159 'oci8savefile' => 'ocisavelobfile', | |
160 'oci8size' => 'ocicollsize', | |
161 'oci8trim' => 'ocicolltrim', | |
162 'oci8writetemporary' => 'ociwritetemporarylob', | |
163 'oci8writetofile' => 'ociwritelobtofile', | |
164 'odbc_do' => 'odbc_exec', | |
165 'odbc_field_precision' => 'odbc_field_len', | |
166 'pdf_add_outline' => 'pdf_add_bookmark', | |
167 'pg_clientencoding' => 'pg_client_encoding', | |
168 'pg_setclientencoding' => 'pg_set_client_encoding', | |
169 'pos' => 'current', | |
170 'recode' => 'recode_string', | |
171 'show_source' => 'highlight_file', | |
172 'sizeof' => 'count', | |
173 'snmpwalkoid' => 'snmprealwalk', | |
174 'strchr' => 'strstr', | |
175 'xptr_new_context' => 'xpath_new_context', | |
176 ); | |
177 | |
178 | |
179 /** | |
180 * Returns an array of function names this test wants to listen for. | |
181 * | |
182 * @return array | |
183 */ | |
184 public function registerFunctionNames() | |
185 { | |
186 return array_keys($this->aliases); | |
187 | |
188 }//end registerFunctionNames() | |
189 | |
190 | |
191 /** | |
192 * Processes this function call. | |
193 * | |
194 * @param PHP_CodeSniffer_File $phpcsFile The file being scanned. | |
195 * @param int $stackPtr The position of the function call in | |
196 * the stack. | |
197 * @param int $openBracket The position of the opening | |
198 * parenthesis in the stack. | |
199 * @param int $closeBracket The position of the closing | |
200 * parenthesis in the stack. | |
201 * | |
202 * @return void | |
203 */ | |
204 public function processFunctionCall( | |
205 PHP_CodeSniffer_File $phpcsFile, | |
206 $stackPtr, | |
207 $openBracket, | |
208 $closeBracket | |
209 ) { | |
210 $tokens = $phpcsFile->getTokens(); | |
211 $error = '%s() is a function name alias, use %s() instead'; | |
212 $name = $tokens[$stackPtr]['content']; | |
213 $data = array( | |
214 $name, | |
215 $this->aliases[$name], | |
216 ); | |
217 $phpcsFile->addError($error, $stackPtr, 'FunctionAlias', $data); | |
218 | |
219 }//end processFunctionCall() | |
220 | |
221 | |
222 }//end class |