1
|
|
|
<?php |
2
|
|
|
|
3
|
|
|
namespace AOE\Languagevisibility\BeModules; |
4
|
|
|
/*************************************************************** |
5
|
|
|
* Copyright notice |
6
|
|
|
* |
7
|
|
|
* (c) 2008 <> |
8
|
|
|
* All rights reserved |
9
|
|
|
* |
10
|
|
|
* This script is part of the TYPO3 project. The TYPO3 project is |
11
|
|
|
* free software; you can redistribute it and/or modify |
12
|
|
|
* it under the terms of the GNU General Public License as published by |
13
|
|
|
* the Free Software Foundation; either version 2 of the License, or |
14
|
|
|
* (at your option) any later version. |
15
|
|
|
* |
16
|
|
|
* The GNU General Public License can be found at |
17
|
|
|
* http://www.gnu.org/copyleft/gpl.html. |
18
|
|
|
* |
19
|
|
|
* This script is distributed in the hope that it will be useful, |
20
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
21
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
22
|
|
|
* GNU General Public License for more details. |
23
|
|
|
* |
24
|
|
|
* This copyright notice MUST APPEAR in all copies of the script! |
25
|
|
|
***************************************************************/ |
26
|
|
|
|
27
|
|
|
/** |
28
|
|
|
* Module extension (addition to function menu) 'Language Visibility Overview' for the 'testtt' extension. |
29
|
|
|
* |
30
|
|
|
* @author <Daniel P�tzinger> |
31
|
|
|
* @package TYPO3 |
32
|
|
|
* @subpackage tx_languagevisibility |
33
|
|
|
*/ |
34
|
|
|
class Modfunc1 extends \TYPO3\CMS\Backend\Module\AbstractFunctionModule { |
35
|
|
|
|
36
|
|
|
/** |
37
|
|
|
* Returns the menu array |
38
|
|
|
* |
39
|
|
|
* @return array |
40
|
|
|
*/ |
41
|
|
|
public function modMenu() { |
42
|
|
|
$menuArray = array( |
43
|
|
|
'depth' => array( |
44
|
|
|
0 => $GLOBALS['LANG']->getLL('depth_0'), |
45
|
|
|
1 => $GLOBALS['LANG']->getLL('depth_1'), |
46
|
|
|
2 => $GLOBALS['LANG']->getLL('depth_2'), |
47
|
|
|
3 => $GLOBALS['LANG']->getLL('depth_3') |
48
|
|
|
) |
49
|
|
|
); |
50
|
|
|
|
51
|
|
|
// Languages: |
52
|
|
|
$languageRep = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('AOE\\Languagevisibility\\LanguageRepository'); |
53
|
|
|
$languageList = $languageRep->getLanguages(); |
54
|
|
|
$menuArray['lang'] = array(0 => '[All]' ); |
55
|
|
|
foreach ( $languageList as $language ) { |
56
|
|
|
$menuArray['lang'][$language->getUid()] = $language->getTitle(); |
57
|
|
|
} |
58
|
|
|
|
59
|
|
|
return $menuArray; |
60
|
|
|
} |
61
|
|
|
|
62
|
|
|
/** |
63
|
|
|
* MAIN function for page information of localization |
64
|
|
|
* |
65
|
|
|
* @return string Output HTML for the module. |
66
|
|
|
*/ |
67
|
|
|
public function main() { |
68
|
|
|
$theOutput = ''; |
69
|
|
|
if ($this->pObj->id) { |
70
|
|
|
|
71
|
|
|
// Depth selector: |
72
|
|
|
$h_func = \TYPO3\CMS\Backend\Utility\BackendUtility::getFuncMenu($this->pObj->id, 'SET[depth]', $this->pObj->MOD_SETTINGS['depth'], $this->pObj->MOD_MENU['depth'], 'index.php'); |
73
|
|
|
$h_func .= \TYPO3\CMS\Backend\Utility\BackendUtility::getFuncMenu($this->pObj->id, 'SET[lang]', $this->pObj->MOD_SETTINGS['lang'], $this->pObj->MOD_MENU['lang'], 'index.php'); |
74
|
|
|
$theOutput .= $h_func; |
75
|
|
|
|
76
|
|
|
// Add CSH: |
77
|
|
|
$theOutput .= \TYPO3\CMS\Backend\Utility\BackendUtility::cshItem('_MOD_web_info', 'lang', $GLOBALS['BACK_PATH'], '|<br/>'); |
78
|
|
|
|
79
|
|
|
// Showing the tree: |
80
|
|
|
// Initialize starting point of page tree: |
81
|
|
|
$treeStartingPoint = intval($this->pObj->id); |
82
|
|
|
$treeStartingRecord = \TYPO3\CMS\Backend\Utility\BackendUtility::getRecordWSOL('pages', $treeStartingPoint); |
83
|
|
|
$depth = $this->pObj->MOD_SETTINGS['depth']; |
84
|
|
|
|
85
|
|
|
// Initialize tree object: |
86
|
|
|
$tree = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('\TYPO3\CMS\Backend\Tree\View\PageTreeView'); |
87
|
|
|
$tree->init('AND ' . $GLOBALS['BE_USER']->getPagePermsClause(1)); |
88
|
|
|
$tree->addField('l18n_cfg'); |
89
|
|
|
|
90
|
|
|
// Creating top icon; the current page |
91
|
|
|
$HTML = \TYPO3\CMS\Backend\Utility\IconUtility::getIconImage('pages', $treeStartingRecord, $GLOBALS['BACK_PATH'], 'align="top"'); |
|
|
|
|
92
|
|
|
$tree->tree[] = array('row' => $treeStartingRecord, 'HTML' => $HTML ); |
93
|
|
|
|
94
|
|
|
// Create the tree from starting point: |
95
|
|
|
if ($depth) { |
96
|
|
|
$tree->getTree($treeStartingPoint, $depth, ''); |
97
|
|
|
} |
98
|
|
|
|
99
|
|
|
// Add CSS needed: |
100
|
|
|
$css_content = ' |
101
|
|
|
TABLE#langTable { |
102
|
|
|
margin-top: 10px; |
103
|
|
|
} |
104
|
|
|
TABLE#langTable TR TD { |
105
|
|
|
padding-left : 2px; |
106
|
|
|
padding-right : 2px; |
107
|
|
|
white-space: nowrap; |
108
|
|
|
} |
109
|
|
|
TD.c-notvisible { background-color: red; } |
110
|
|
|
TD.c-visible { background-color: #669966; } |
111
|
|
|
TD.c-translated { background-color: #A8E95C; } |
112
|
|
|
TD.c-nottranslated { background-color: #E9CD5C; } |
113
|
|
|
TD.c-leftLine {border-left: 2px solid black; } |
114
|
|
|
.bgColor5 { font-weight: bold; } |
115
|
|
|
'; |
116
|
|
|
$marker = '/*###POSTCSSMARKER###*/'; |
117
|
|
|
$this->pObj->content = str_replace($marker, $css_content . chr(10) . $marker, $this->pObj->content); |
118
|
|
|
|
119
|
|
|
// Render information table: |
120
|
|
|
$theOutput .= $this->renderL10nTable($tree); |
121
|
|
|
} |
122
|
|
|
|
123
|
|
|
return $theOutput; |
124
|
|
|
} |
125
|
|
|
|
126
|
|
|
/** |
127
|
|
|
* Rendering the localization information table. |
128
|
|
|
* |
129
|
|
|
* @param array The Page tree data |
130
|
|
|
* @return string HTML for the localization information table. |
131
|
|
|
*/ |
132
|
|
|
public function renderL10nTable(&$tree) { |
133
|
|
|
// Title length: |
134
|
|
|
$titleLen = $GLOBALS['BE_USER']->uc['titleLen']; |
135
|
|
|
|
136
|
|
|
// Put together the tree: |
137
|
|
|
$output = ''; |
138
|
|
|
$newOL_js = array(); |
139
|
|
|
$langRecUids = array(); |
140
|
|
|
|
141
|
|
|
// Init DAO |
142
|
|
|
$dao = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('AOE\\Languagevisibility\\Dao\DaoCommon'); |
143
|
|
|
$elementfactory = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('AOE\\Languagevisibility\\ElementFactory', $dao); |
144
|
|
|
$languageRep = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('AOE\\Languagevisibility\\LanguageRepository'); |
145
|
|
|
$languageList = $languageRep->getLanguages(); |
146
|
|
|
$visibility = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('AOE\\Languagevisibility\\Services\\VisibilityService'); |
147
|
|
|
|
148
|
|
|
//traverse tree: |
149
|
|
|
foreach ( $tree->tree as $data ) { |
150
|
|
|
$tCells = array(); |
151
|
|
|
|
152
|
|
|
$element = $elementfactory->getElementForTable('pages', $data['row']['uid']); |
153
|
|
|
|
154
|
|
|
// first cell (tree): |
155
|
|
|
// Page icons / titles etc. |
156
|
|
|
$tCells[] = '<td' . ($data['row']['_CSSCLASS'] ? ' class="' . $data['row']['_CSSCLASS'] . '"' : '') . '>' . $data['HTML'] . htmlspecialchars(\TYPO3\CMS\Core\Utility\GeneralUtility::fixed_lgd_cs($data['row']['title'], $titleLen)) . (strcmp($data['row']['nav_title'], '') ? ' [Nav: <em>' . htmlspecialchars(\TYPO3\CMS\Core\Utility\GeneralUtility::fixed_lgd_cs($data['row']['nav_title'], $titleLen)) . '</em>]' : '') . '</td>'; |
157
|
|
|
// language cells: |
158
|
|
|
foreach ( $languageList as $language ) { |
159
|
|
|
$info = ''; |
160
|
|
|
$editUid = $data['row']['uid']; |
161
|
|
|
$params = '&edit[pages][' . $editUid . ']=edit'; |
162
|
|
|
$langId = $language->getUid(); |
163
|
|
|
if ($visibility->isVisible($language, $element)) { |
164
|
|
|
$isVisible = TRUE; |
165
|
|
|
$statusVis = 'c-visible'; |
166
|
|
|
} else { |
167
|
|
|
$isVisible = FALSE; |
168
|
|
|
$statusVis = 'c-notvisible'; |
169
|
|
|
} |
170
|
|
|
if ($element->hasTranslation($langId)) { |
171
|
|
|
$statusTrans = 'c-translated'; |
172
|
|
|
} else { |
173
|
|
|
$statusTrans = 'c-nottranslated'; |
174
|
|
|
} |
175
|
|
|
|
176
|
|
|
if ($language->getUid() == 0) { |
177
|
|
|
// Default |
178
|
|
|
// "View page" link is created: |
179
|
|
|
$viewPageLink = '<a href="#" onclick="' . htmlspecialchars(\TYPO3\CMS\Backend\Utility\BackendUtility::viewOnClick($data['row']['uid'], $GLOBALS['BACK_PATH'], '', '', '', '&L=###LANG_UID###')) . '">' . '<img' . \TYPO3\CMS\Backend\Utility\IconUtility::skinImg($GLOBALS['BACK_PATH'], 'gfx/zoom.gif', 'width="12" height="12"') . ' title="' . $GLOBALS['LANG']->getLL('lang_renderl10n_viewPage', '1') . '" border="0" alt="" />' . '</a>'; |
|
|
|
|
180
|
|
|
$info .= '<a href="#" onclick="' . htmlspecialchars(\TYPO3\CMS\Backend\Utility\BackendUtility::editOnClick($params, $GLOBALS['BACK_PATH'])) . '">' . '<img' . \TYPO3\CMS\Backend\Utility\IconUtility::skinImg($GLOBALS['BACK_PATH'], 'gfx/edit2.gif', 'width="11" height="12"') . ' title="' . $GLOBALS['LANG']->getLL('lang_renderl10n_editDefaultLanguagePage', '1') . '" border="0" alt="" />' . '</a>'; |
|
|
|
|
181
|
|
|
$info .= '<a href="#" onclick="' . htmlspecialchars('top.loadEditId(' . intval($data['row']['uid']) . ',"&SET[language]=0"); return FALSE;') . '">' . '<img' . \TYPO3\CMS\Backend\Utility\IconUtility::skinImg($GLOBALS['BACK_PATH'], 'gfx/edit_page.gif', 'width="12" height="12"') . ' title="' . $GLOBALS['LANG']->getLL('lang_renderl10n_editPage', '1') . '" border="0" alt="" />' . '</a>'; |
|
|
|
|
182
|
|
|
$info .= str_replace('###LANG_UID###', '0', $viewPageLink); |
183
|
|
|
$info .= $data['row']['l18n_cfg'] & 1 ? '<span title="' . $GLOBALS['LANG']->sL('LLL:EXT:cms/locallang_tca.php:pages.l18n_cfg.I.1', '1') . '">D</span>' : ' '; |
184
|
|
|
// Put into cell: |
185
|
|
|
$tCells[] = '<td class="' . $statusTrans . ' c-leftLine">' . $info . '</td>'; |
186
|
|
|
$tCells[] = '<td class="' . $statusTrans . '" title="' . $GLOBALS['LANG']->getLL('lang_renderl10n_CEcount', '1') . '" align="center">' . $this->getContentElementCount($data['row']['uid'], 0) . '</td>'; |
187
|
|
|
|
188
|
|
|
} else { |
189
|
|
|
// Normal Language: |
190
|
|
|
if ($element->hasTranslation($langId)) { |
191
|
|
|
$viewPageLink = '<a href="#" onclick="' . htmlspecialchars(\TYPO3\CMS\Backend\Utility\BackendUtility::viewOnClick($data['row']['uid'], $GLOBALS['BACK_PATH'], '', '', '', '&L=###LANG_UID###')) . '">' . '<img' . \TYPO3\CMS\Backend\Utility\IconUtility::skinImg($GLOBALS['BACK_PATH'], 'gfx/zoom.gif', 'width="12" height="12"') . ' title="' . $GLOBALS['LANG']->getLL('lang_renderl10n_viewPage', '1') . '" border="0" alt="" />' . '</a>'; |
|
|
|
|
192
|
|
|
|
193
|
|
|
$overLayRow = $element->getOverLayRecordForCertainLanguage($langId); |
194
|
|
|
// add uid of overlay to list of editable records: |
195
|
|
|
$langRecUids[$langId][] = $overLayRow['uid']; |
196
|
|
|
$icon = \TYPO3\CMS\Backend\Utility\IconUtility::getIconImage('pages_language_overlay', $overLayRow, $GLOBALS['BACK_PATH'], 'align="top" class="c-recIcon"'); |
|
|
|
|
197
|
|
|
|
198
|
|
|
$info = $icon . htmlspecialchars(\TYPO3\CMS\Core\Utility\GeneralUtility::fixed_lgd_cs($overLayRow['title'], $titleLen)) . (strcmp($overLayRow['nav_title'], '') ? ' [Nav: <em>' . htmlspecialchars(\TYPO3\CMS\Core\Utility\GeneralUtility::fixed_lgd_cs($overLayRow['nav_title'], $titleLen)) . '</em>]' : '') . ($overLayRow['_COUNT'] > 1 ? '<div>' . $GLOBALS['LANG']->getLL('lang_renderl10n_badThingThereAre', '1') . '</div>' : ''); |
199
|
|
|
$tCells[] = '<td class="' . $statusTrans . ' c-leftLine">' . $info . '</td>'; |
200
|
|
|
|
201
|
|
|
// Edit whole record: |
202
|
|
|
$info = ''; |
203
|
|
|
$editUid = $overLayRow['uid']; |
204
|
|
|
$params = '&edit[pages_language_overlay][' . $editUid . ']=edit'; |
205
|
|
|
$info .= '<a href="#" onclick="' . htmlspecialchars(\TYPO3\CMS\Backend\Utility\BackendUtility::editOnClick($params, $GLOBALS['BACK_PATH'])) . '">' . '<img' . \TYPO3\CMS\Backend\Utility\IconUtility::skinImg($GLOBALS['BACK_PATH'], 'gfx/edit2.gif', 'width="11" height="12"') . ' title="' . $GLOBALS['LANG']->getLL('lang_renderl10n_editLanguageOverlayRecord', '1') . '" border="0" alt="" />' . '</a>'; |
|
|
|
|
206
|
|
|
|
207
|
|
|
$info .= '<a href="#" onclick="' . htmlspecialchars('top.loadEditId(' . intval($data['row']['uid']) . ',"&SET[language]=' . $langId . '"); return FALSE;') . '">' . '<img' . \TYPO3\CMS\Backend\Utility\IconUtility::skinImg($GLOBALS['BACK_PATH'], 'gfx/edit_page.gif', 'width="12" height="12"') . ' title="' . $GLOBALS['LANG']->getLL('lang_renderl10n_editPageLang', '1') . '" border="0" alt="" />' . '</a>'; |
|
|
|
|
208
|
|
|
$info .= str_replace('###LANG_UID###', $langId, $viewPageLink); |
209
|
|
|
|
210
|
|
|
$tCells[] = '<td class="' . $statusTrans . '">' . $info . '</td>'; |
211
|
|
|
$tCells[] = '<td class="' . $statusTrans . '" title="' . $GLOBALS['LANG']->getLL('lang_renderl10n_CEcount', '1') . '" align="center">' . $this->getContentElementCount($data['row']['uid'], $langId) . '</td>'; |
212
|
|
|
} else { |
213
|
|
|
$tCells[] = '<td class="' . $statusTrans . ' c-leftLine"> </td>'; |
214
|
|
|
$tCells[] = '<td class="' . $statusTrans . '"> </td>'; |
215
|
|
|
//add to JS |
216
|
|
|
$infoCell = '<input type="checkbox" name="newOL[' . $langId . '][' . $data['row']['uid'] . ']" value="1" />'; |
217
|
|
|
$newOL_js[$langId] .= ' |
218
|
|
|
+(document.webinfoForm[\'newOL[' . $langId . '][' . $data['row']['uid'] . ']\'].checked ? \'&edit[pages_language_overlay][' . $data['row']['uid'] . ']=new\' : \'\') |
219
|
|
|
'; |
220
|
|
|
$tCells[] = '<td class="' . $statusTrans . '">' . $infoCell . '</td>'; |
221
|
|
|
|
222
|
|
|
} |
223
|
|
|
} |
224
|
|
|
//last cell show status |
225
|
|
|
$tCells[] = '<td class="' . $statusVis . '">' . $this->_getStatusImage($isVisible) . '</td>'; |
226
|
|
|
} |
227
|
|
|
$output .= ' |
228
|
|
|
<tr class="bgColor5"> |
229
|
|
|
' . implode(' |
230
|
|
|
', $tCells) . ' |
231
|
|
|
</tr>'; |
232
|
|
|
} |
233
|
|
|
|
234
|
|
|
// first ROW: |
235
|
|
|
$firstRowCells = array(); |
236
|
|
|
$firstRowCells[] = '<td>' . $GLOBALS['LANG']->getLL('lang_renderl10n_page', '1') . ':</td>'; |
237
|
|
|
foreach ( $languageList as $language ) { |
238
|
|
|
$langId = $language->getUid(); |
239
|
|
|
if ($this->pObj->MOD_SETTINGS['lang'] == 0 || ( int ) $this->pObj->MOD_SETTINGS['lang'] === ( int ) $langId) { |
240
|
|
|
$firstRowCells[] = '<td class="c-leftLine">' . $language->getTitle() . $language->getFlagImg() . '</td>'; |
241
|
|
|
if ($langId == 0) { |
242
|
|
|
$firstRowCells[] = '<td></td>'; |
243
|
|
|
$firstRowCells[] = '<td></td>'; |
244
|
|
|
} else { |
245
|
|
|
// Title: |
246
|
|
|
|
247
|
|
|
|
248
|
|
|
// Edit language overlay records: |
249
|
|
|
if (is_array($langRecUids[$langId])) { |
250
|
|
|
$params = '&edit[pages_language_overlay][' . implode(',', $langRecUids[$langId]) . ']=edit&columnsOnly=title,nav_title,hidden'; |
251
|
|
|
$firstRowCells[] = '<td><a href="#" onclick="' . htmlspecialchars(\TYPO3\CMS\Backend\Utility\BackendUtility::editOnClick($params, $GLOBALS['BACK_PATH'])) . '"> |
252
|
|
|
<img' . \TYPO3\CMS\Backend\Utility\IconUtility::skinImg($GLOBALS['BACK_PATH'], 'gfx/edit2.gif', 'width="11" height="12"') . ' title="' . $GLOBALS['LANG']->getLL('lang_renderl10n_editLangOverlays', '1') . '" border="0" alt="" /> |
|
|
|
|
253
|
|
|
</a></td>'; |
254
|
|
|
} else { |
255
|
|
|
$firstRowCells[] = '<td> </td>'; |
256
|
|
|
} |
257
|
|
|
|
258
|
|
|
// Create new overlay records: |
259
|
|
|
$params = "'" . $newOL_js[$langId] . "+'&columnsOnly=title,hidden,sys_language_uid&defVals[pages_language_overlay][sys_language_uid]=" . $langId; |
260
|
|
|
$firstRowCells[] = '<td><a href="#" onclick="' . htmlspecialchars(\TYPO3\CMS\Backend\Utility\BackendUtility::editOnClick($params, $GLOBALS['BACK_PATH'])) . '"> |
261
|
|
|
<img' . \TYPO3\CMS\Backend\Utility\IconUtility::skinImg($GLOBALS['BACK_PATH'], 'gfx/new_el.gif', 'width="11" height="12"') . ' title="' . $GLOBALS['LANG']->getLL('lang_getlangsta_createNewTranslationHeaders', '1') . '" border="0" alt="" /> |
|
|
|
|
262
|
|
|
</a></td>'; |
263
|
|
|
$firstRowCells[] = '<td></td>'; |
264
|
|
|
} |
265
|
|
|
} |
266
|
|
|
} |
267
|
|
|
|
268
|
|
|
$output = ' |
269
|
|
|
<tr class="bgColor4"> |
270
|
|
|
' . implode(' |
271
|
|
|
', $firstRowCells) . ' |
272
|
|
|
</tr>' . $output; |
273
|
|
|
|
274
|
|
|
$output = ' |
275
|
|
|
|
276
|
|
|
<table border="0" cellspacing="0" cellpadding="0" id="langTable">' . $output . ' |
277
|
|
|
</table>'; |
278
|
|
|
|
279
|
|
|
return $output; |
280
|
|
|
} |
281
|
|
|
|
282
|
|
|
protected function _getStatusImage($stat) { |
283
|
|
|
if ($stat) { |
284
|
|
|
return '<img src="' . $GLOBALS['BACK_PATH'] . '../typo3conf/ext/languagevisibility/Resources/Public/Icons/ok.gif">'; |
285
|
|
|
} else { |
286
|
|
|
return '<img src="' . $GLOBALS['BACK_PATH'] . '../typo3conf/ext/languagevisibility/Resources/Public/Icons/nok.gif">'; |
287
|
|
|
} |
288
|
|
|
} |
289
|
|
|
|
290
|
|
|
/** |
291
|
|
|
* Counting content elements for a single language on a page. |
292
|
|
|
* |
293
|
|
|
* @param integer Page id to select for. |
294
|
|
|
* @param integer Sys language uid |
295
|
|
|
* @return integer Number of content elements from the PID where the language is set to a certain value. |
296
|
|
|
*/ |
297
|
|
|
public function getContentElementCount($pageId, $sysLang) { |
298
|
|
|
if ($sysLang == 0) { |
299
|
|
|
$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('count(*)', 'tt_content', 'pid=' . intval($pageId) . ' AND sys_language_uid=' . intval($sysLang) . \TYPO3\CMS\Backend\Utility\BackendUtility::deleteClause('tt_content') . \TYPO3\CMS\Backend\Utility\BackendUtility::versioningPlaceholderClause('tt_content')); |
300
|
|
|
list ( $count ) = $GLOBALS['TYPO3_DB']->sql_fetch_row($res); |
301
|
|
|
} |
302
|
|
|
|
303
|
|
|
return $count ? $count : '-'; |
|
|
|
|
304
|
|
|
} |
305
|
|
|
} |
306
|
|
|
|
307
|
|
|
if (defined('TYPO3_MODE') && $GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['ext/languagevisibility/modfunc1/class.tx_languagevisibility_modfunc1.php']) { |
308
|
|
|
include_once ($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['ext/languagevisibility/modfunc1/class.tx_languagevisibility_modfunc1.php']); |
309
|
|
|
} |
310
|
|
|
|
This check marks calls to methods that do not seem to exist on an object.
This is most likely the result of a method being renamed without all references to it being renamed likewise.