Public Member Functions | |
| modMenu () | |
| Returns the menu array. | |
| main () | |
| MAIN function for page information of localization. | |
| renderL10nTable (&$tree) | |
| Rendering the localization information table. | |
| getSystemLanguages () | |
| Selects all system languages (from sys_language). | |
| getLangStatus ($pageId, $langId) | |
| Get an alternative language record for a specific page / language. | |
| getContentElementCount ($pageId, $sysLang) | |
| Counting content elements for a single language on a page. | |
|
||||||||||||
|
Counting content elements for a single language on a page.
Definition at line 369 of file class.tx_cms_webinfo_lang.php. 00369 {
00370 $res = $GLOBALS['TYPO3_DB']->exec_SELECTquery(
00371 'count(*)',
00372 'tt_content',
00373 'pid='.intval($pageId).
00374 ' AND sys_language_uid='.intval($sysLang).
00375 t3lib_BEfunc::deleteClause('tt_content')
00376 );
00377
00378 list($count) = $GLOBALS['TYPO3_DB']->sql_fetch_row($res);
00379 return $count ? $count : '-';
00380 }
|
|
||||||||||||
|
Get an alternative language record for a specific page / language.
Definition at line 342 of file class.tx_cms_webinfo_lang.php. Referenced by renderL10nTable(). 00342 {
00343 $res = $GLOBALS['TYPO3_DB']->exec_SELECTquery(
00344 '*',
00345 'pages_language_overlay',
00346 'pid='.intval($pageId).
00347 ' AND sys_language_uid='.intval($langId).
00348 t3lib_BEfunc::deleteClause('pages_language_overlay')
00349 );
00350
00351 $row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res);
00352 if (is_array($row)) {
00353 $row['_COUNT'] = $GLOBALS['TYPO3_DB']->sql_num_rows($res);
00354 $row['_HIDDEN'] = $row['hidden'] ||
00355 (intval($row['endtime']) > 0 && intval($row['endtime']) < time()) ||
00356 (time() < intval($row['starttime']));
00357 }
00358
00359 return $row;
00360 }
|
|
|
Selects all system languages (from sys_language).
Definition at line 320 of file class.tx_cms_webinfo_lang.php. Referenced by renderL10nTable(). 00320 {
00321 $res = $GLOBALS['TYPO3_DB']->exec_SELECTquery(
00322 '*',
00323 'sys_language',
00324 '1'.t3lib_BEfunc::deleteClause('sys_language')
00325 );
00326
00327 $outputArray = array();
00328 while($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
00329 $outputArray[] = $row;
00330 }
00331
00332 return $outputArray;
00333 }
|
|
|
MAIN function for page information of localization.
Definition at line 89 of file class.tx_cms_webinfo_lang.php. References t3lib_BEfunc::cshItem(), t3lib_BEfunc::getFuncMenu(), t3lib_iconWorks::getIconImage(), t3lib_BEfunc::getRecord(), and renderL10nTable(). 00089 {
00090 global $BACK_PATH,$LANG,$SOBE;
00091
00092 if ($this->pObj->id) {
00093 $theOutput = '';
00094
00095 // Depth selector:
00096 $h_func = t3lib_BEfunc::getFuncMenu($this->pObj->id,'SET[depth]',$this->pObj->MOD_SETTINGS['depth'],$this->pObj->MOD_MENU['depth'],'index.php');
00097 $theOutput.= $h_func;
00098
00099 // Add CSH:
00100 $theOutput.= t3lib_BEfunc::cshItem('_MOD_web_info','lang',$GLOBALS['BACK_PATH'],'|<br/>');
00101
00102 // Showing the tree:
00103 // Initialize starting point of page tree:
00104 $treeStartingPoint = intval($this->pObj->id);
00105 $treeStartingRecord = t3lib_BEfunc::getRecord('pages', $treeStartingPoint);
00106 $depth = $this->pObj->MOD_SETTINGS['depth'];
00107
00108 // Initialize tree object:
00109 $tree = t3lib_div::makeInstance('t3lib_pageTree');
00110 $tree->init('AND '.$GLOBALS['BE_USER']->getPagePermsClause(1));
00111 $tree->addField('l18n_cfg');
00112
00113 // Creating top icon; the current page
00114 $HTML = t3lib_iconWorks::getIconImage('pages', $treeStartingRecord, $GLOBALS['BACK_PATH'],'align="top"');
00115 $tree->tree[] = array(
00116 'row' => $treeStartingRecord,
00117 'HTML'=>$HTML
00118 );
00119
00120 // Create the tree from starting point:
00121 $tree->getTree($treeStartingPoint, $depth, '');
00122 #debug($tree->tree);
00123
00124 // Add CSS needed:
00125 $css_content = '
00126 TABLE#langTable {
00127 margin-top: 10px;
00128 }
00129 TABLE#langTable TR TD {
00130 padding-left : 2px;
00131 padding-right : 2px;
00132 white-space: nowrap;
00133 }
00134 TD.c-blocked { background-color: red; }
00135 TD.c-ok { background-color: #669966; }
00136 TD.c-fallback { }
00137 TD.c-leftLine {border-left: 2px solid black; }
00138 .bgColor5 { font-weight: bold; }
00139 ';
00140 $marker = '/*###POSTCSSMARKER###*/';
00141 $this->pObj->content = str_replace($marker,$css_content.chr(10).$marker,$this->pObj->content);
00142
00143 // Render information table:
00144 $theOutput.= $this->renderL10nTable($tree);
00145 }
00146
00147 return $theOutput;
00148 }
|
|
|
Returns the menu array.
Definition at line 72 of file class.tx_cms_webinfo_lang.php. References $LANG. 00072 {
00073 global $LANG;
00074
00075 return array (
00076 'depth' => array(
00077 1 => $LANG->getLL('depth_1'),
00078 2 => $LANG->getLL('depth_2'),
00079 3 => $LANG->getLL('depth_3')
00080 )
00081 );
00082 }
|
|
|
Rendering the localization information table.
Definition at line 156 of file class.tx_cms_webinfo_lang.php. References $LANG, t3lib_iconWorks::getIconImage(), getLangStatus(), getSystemLanguages(), and table(). Referenced by main(). 00156 {
00157 global $LANG;
00158
00159 // System languages retrieved:
00160 $languages = $this->getSystemLanguages();
00161
00162 // Title length:
00163 $titleLen = $GLOBALS['BE_USER']->uc['titleLen'];
00164
00165 // Put together the TREE:
00166 $output = '';
00167 $newOL_js = array();
00168 $langRecUids = array();
00169 foreach($tree->tree as $data) {
00170 $tCells = array();
00171 $langRecUids[0][] = $data['row']['uid'];
00172
00173 // Page icons / titles etc.
00174 $tCells[] = '<td>'.
00175 $data['HTML'].
00176 htmlspecialchars(t3lib_div::fixed_lgd_cs($data['row']['title'],$titleLen)).
00177 (strcmp($data['row']['nav_title'],'') ? ' [Nav: <em>'.htmlspecialchars(t3lib_div::fixed_lgd_cs($data['row']['nav_title'],$titleLen)).'</em>]' : '').
00178 '</td>';
00179
00180 // DEFAULT language:
00181 // "View page" link is created:
00182 $viewPageLink= '<a href="#" onclick="'.
00183 htmlspecialchars(t3lib_BEfunc::viewOnClick($data['row']['uid'],$GLOBALS['BACK_PATH'],'','','','&L=###LANG_UID###')).'">'.
00184 '<img'.t3lib_iconWorks::skinImg($GLOBALS['BACK_PATH'],'gfx/zoom.gif','width="12" height="12"').' title="'.$LANG->getLL('lang_renderl10n_viewPage','1').'" border="0" alt="" />'.
00185 '</a>';
00186 $status = $data['row']['l18n_cfg']&1 ? 'c-blocked' : 'c-ok';
00187
00188 // Create links:
00189 $info = '';
00190 $editUid = $data['row']['uid'];
00191 $params = '&edit[pages]['.$editUid.']=edit';
00192 $info.= '<a href="#" onclick="'.htmlspecialchars(t3lib_BEfunc::editOnClick($params,$GLOBALS['BACK_PATH'])).'">'.
00193 '<img'.t3lib_iconWorks::skinImg($GLOBALS['BACK_PATH'],'gfx/edit2.gif','width="11" height="12"').' title="'.$LANG->getLL('lang_renderl10n_editDefaultLanguagePage','1').'" border="0" alt="" />'.
00194 '</a>';
00195 $info.= '<a href="#" onclick="'.htmlspecialchars('top.loadEditId('.intval($data['row']['uid']).',"&SET[language]=0"); return false;').'">'.
00196 '<img'.t3lib_iconWorks::skinImg($GLOBALS['BACK_PATH'],'gfx/edit_page.gif','width="12" height="12"').' title="'.$LANG->getLL('lang_renderl10n_editPage','1').'" border="0" alt="" />'.
00197 '</a>';
00198 $info.= str_replace('###LANG_UID###','0',$viewPageLink);
00199
00200 $info.= ' ';
00201 $info.= $data['row']['l18n_cfg']&1 ? '<span title="'.$LANG->sL('LLL:EXT:cms/locallang_tca.php:pages.l18n_cfg.I.1','1').'">D</span>' : ' ';
00202 $info.= $data['row']['l18n_cfg']&2 ? '<span title="'.$LANG->sL('LLL:EXT:cms/locallang_tca.php:pages.l18n_cfg.I.2','1').'">N</span>' : ' ';
00203
00204 // Put into cell:
00205 $tCells[] = '<td class="'.$status.' c-leftLine">'.$info.'</td>';
00206 $tCells[] = '<td class="'.$status.'" title="'.$LANG->getLL('lang_renderl10n_CEcount','1').'" align="center">'.$this->getContentElementCount($data['row']['uid'],0).'</td>';
00207
00208 // Traverse system languages:
00209 foreach($languages as $langRow) {
00210 $row = $this->getLangStatus($data['row']['uid'], $langRow['uid']);
00211 $info = '';
00212
00213 if (is_array($row)) {
00214 $langRecUids[$langRow['uid']][] = $row['uid'];
00215 $status = $row['_HIDDEN'] ? ($data['row']['l18n_cfg']&2 || $data['row']['l18n_cfg']&1 ? 'c-blocked' : 'c-fallback') : 'c-ok';
00216 $icon = t3lib_iconWorks::getIconImage(
00217 'pages_language_overlay',
00218 $row,
00219 $GLOBALS['BACK_PATH'],
00220 'align="top" class="c-recIcon"'
00221 );
00222
00223 $info = $icon.
00224 htmlspecialchars(t3lib_div::fixed_lgd_cs($row['title'],$titleLen)).
00225 (strcmp($row['nav_title'],'') ? ' [Nav: <em>'.htmlspecialchars(t3lib_div::fixed_lgd_cs($row['nav_title'],$titleLen)).'</em>]' : '').
00226 ($row['_COUNT']>1 ? '<div>'.$LANG->getLL('lang_renderl10n_badThingThereAre','1').'</div>':'');
00227 $tCells[] = '<td class="'.$status.' c-leftLine">'.$info.'</td>';
00228
00229 // Edit whole record:
00230 $info = '';
00231 $editUid = $row['uid'];
00232 $params = '&edit[pages_language_overlay]['.$editUid.']=edit';
00233 $info.= '<a href="#" onclick="'.htmlspecialchars(t3lib_BEfunc::editOnClick($params,$GLOBALS['BACK_PATH'])).'">'.
00234 '<img'.t3lib_iconWorks::skinImg($GLOBALS['BACK_PATH'],'gfx/edit2.gif','width="11" height="12"').' title="'.$LANG->getLL('lang_renderl10n_editLanguageOverlayRecord','1').'" border="0" alt="" />'.
00235 '</a>';
00236
00237 $info.= '<a href="#" onclick="'.htmlspecialchars('top.loadEditId('.intval($data['row']['uid']).',"&SET[language]='.$langRow['uid'].'"); return false;').'">'.
00238 '<img'.t3lib_iconWorks::skinImg($GLOBALS['BACK_PATH'],'gfx/edit_page.gif','width="12" height="12"').' title="'.$LANG->getLL('lang_renderl10n_editPageLang','1').'" border="0" alt="" />'.
00239 '</a>';
00240 $info.= str_replace('###LANG_UID###',$langRow['uid'],$viewPageLink);
00241
00242 $tCells[] = '<td class="'.$status.'">'.$info.'</td>';
00243 $tCells[] = '<td class="'.$status.'" title="'.$LANG->getLL('lang_renderl10n_CEcount','1').'" align="center">'.$this->getContentElementCount($data['row']['uid'],$langRow['uid']).'</td>';
00244 } else {
00245 $status = $data['row']['l18n_cfg']&2 || $data['row']['l18n_cfg']&1 ? 'c-blocked' : 'c-fallback';
00246 $tCells[] = '<td class="'.$status.' c-leftLine"> </td>';
00247 $tCells[] = '<td class="'.$status.'"> </td>';
00248
00249 $info = '';
00250 $info.= '<input type="checkbox" name="newOL['.$langRow['uid'].']['.$data['row']['uid'].']" value="1" />';
00251 $newOL_js[$langRow['uid']].= '
00252 +(document.webinfoForm[\'newOL['.$langRow['uid'].']['.$data['row']['uid'].']\'].checked ? \'&edit[pages_language_overlay]['.$data['row']['uid'].']=new\' : \'\')
00253 ';
00254 $tCells[] = '<td class="'.$status.'">'.$info.'</td>';
00255 }
00256 }
00257
00258 $output.= '
00259 <tr class="bgColor4">
00260 '.implode('
00261 ',$tCells).'
00262 </tr>';
00263 }
00264
00265 // Put together HEADER:
00266 $tCells = array();
00267 $tCells[] = '<td>'.$LANG->getLL('lang_renderl10n_page','1').':</td>';
00268
00269 if (is_array($langRecUids[0])) {
00270 $params = '&edit[pages]['.implode(',',$langRecUids[0]).']=edit&columnsOnly=title,nav_title,l18n_cfg,hidden';
00271 $editIco = '<a href="#" onclick="'.htmlspecialchars(t3lib_BEfunc::editOnClick($params,$GLOBALS['BACK_PATH'])).'">
00272 <img'.t3lib_iconWorks::skinImg($GLOBALS['BACK_PATH'],'gfx/edit2.gif','width="11" height="12"').' title="'.$LANG->getLL('lang_renderl10n_editPageHeaders','1').'" border="0" alt="" />
00273 </a>';
00274 } else $editIco = '';
00275 $tCells[] = '<td class="c-leftLine" colspan="2">'.
00276 $LANG->getLL('lang_renderl10n_default','1').':'.
00277 $editIco.
00278 '</td>';
00279
00280 foreach($languages as $langRow) {
00281 // Title:
00282 $tCells[] = '<td class="c-leftLine">'.htmlspecialchars($langRow['title']).'</td>';
00283
00284 // Edit language overlay records:
00285 if (is_array($langRecUids[$langRow['uid']])) {
00286 $params = '&edit[pages_language_overlay]['.implode(',',$langRecUids[$langRow['uid']]).']=edit&columnsOnly=title,nav_title,hidden';
00287 $tCells[] = '<td><a href="#" onclick="'.htmlspecialchars(t3lib_BEfunc::editOnClick($params,$GLOBALS['BACK_PATH'])).'">
00288 <img'.t3lib_iconWorks::skinImg($GLOBALS['BACK_PATH'],'gfx/edit2.gif','width="11" height="12"').' title="'.$LANG->getLL('lang_renderl10n_editLangOverlays','1').'" border="0" alt="" />
00289 </a></td>';
00290 } else {
00291 $tCells[] = '<td> </td>';
00292 }
00293
00294 // Create new overlay records:
00295 $params = "'".$newOL_js[$langRow['uid']]."+'&columnsOnly=title,hidden,sys_language_uid&defVals[pages_language_overlay][sys_language_uid]=".$langRow['uid'];
00296 $tCells[] = '<td><a href="#" onclick="'.htmlspecialchars(t3lib_BEfunc::editOnClick($params,$GLOBALS['BACK_PATH'])).'">
00297 <img'.t3lib_iconWorks::skinImg($GLOBALS['BACK_PATH'],'gfx/new_el.gif','width="11" height="12"').' title="'.$LANG->getLL('lang_getlangsta_createNewTranslationHeaders','1').'" border="0" alt="" />
00298 </a></td>';
00299 }
00300
00301 $output = '
00302 <tr class="bgColor5">
00303 '.implode('
00304 ',$tCells).'
00305 </tr>'.$output;
00306
00307 $output = '
00308
00309 <table border="0" cellspacing="0" cellpadding="0" id="langTable">'.$output.'
00310 </table>';
00311
00312 return $output;
00313 }
|
1.3.8-20040913